很多功能都可以放在js的工具类中,在使用的时候直接调用

本次实现的功能包括:

/**

0.当点击表的整行的任意位置时,第一列的复选框或者单选框均选中 
1.隔行换色
2.复选框的全选效果
3.实现表格的高亮显示

4.计算输入了多少个字

*/

以下整体案例使用的简略的table代码HTML部分(未给出样式部分):

<div class="form-group">
<table id="tabMain" class="formTable" style="width:350px;height:180px;">
<thead>
<tr class="">
<td title="id"><input type="checkbox" id="checkall" onclick="checkAll(this);" ></td>
<td title="name"> 名称 </td>
<td title="hight"> 高度 </td>
<td title="weight"> 宽度 </td>
<td title="big"> 大小 </td>
</tr>
</thead>
<tbody>
<tr style="width:400px;">
<td title="id"><input name="checkOne" type="checkbox" ></td>
<td title="name"> 矿泉水 </td>
<td title="hight"> 20 </td>
<td title="weight"> 10 </td>
<td title="big"> 500 </td>
</tr>
<tr >
<td title="id"><input type="checkbox" name="checkOne"></td>
<td title="name"> 大象 </td>
<td title="hight"> 1810 </td>
<td title="weight"> 2220 </td>
<td title="big"> 10 </td>
</tr>
<tr >
<td title="id"><input type="checkbox" name="checkOne"></td>
<td title="name"> 苹果 </td>
<td title="hight"> 11 </td>
<td title="weight"> 32 </td>
<td title="big"> 300 </td>
</tr>
</tbody>
</table>
</div>

  案例一: 当点击表的整行的任意位置时,第一列的复选框或者单选框均选中

 1 $.fn.zTableSelectBind = function(option) {
2 var inputType = "checkbox";
3 if(option && option.type) {
4 inputType = option.type;
5 }
6 $(this).find("tbody tr").click(function(e) {
7 var $obj = $(this).find("td:eq(0) input[type='" + inputType+ "']");
8 var checked = $obj.prop("checked");
9 $obj.prop("checked", !checked);
10 });
11 }
12
13 function initTableClick(tableHandle) {
14 $(tableHandle).zTableSelectBind();
15 }

使用的时候,直接传入表格的id调用:

1 function init() {
2 initTableClick("#tabMain");
3 }

案例二:隔行换色并且鼠标移入时高亮显示

 1 $.fn.zTableChangeColor = function(option,option1) {
2 var trObj = $(this).find("tbody tr");
3 if(trObj != 'undefined') {
4 for(var i = 0; i < trObj.length; i++) {
5 var color = i % 2 == 0 ? "#4479E" : "white";
6 $(trObj[i]).attr("bgcolor", color);
7
8 trObj[i].onmouseover = function() {
9 this.setAttribute("bgc", this.style.backgroundColor);
10 this.style.backgroundColor = "#A0B9E1";
11 }
12 trObj[i].onmouseout = function() {
13 this.style.backgroundColor = this.getAttribute("bgc");
14 }
15 }
16 }
17 }
18 function initTableColor(tableHandle) {
19 $(tableHandle).zTableChangeColor();
20 }

调用

1 function init() {
2 initTableClick("#tabMain");
3 initTableColor("#tabMain");
4 }

案例三:复选框的全选效果

1 //实现复选框的全选效果
2 function checkAll(e) {
3 var checkOnes = document.getElementsByName("checkOne");
4 for(var i = 0; i < checkOnes.length; i++) {
5 checkOnes[i].checked = checkAllEle.checked;
6 }
7 }

案例四:计算输入了多少个字

1     function calculateChar() {
2 var sVal = $("#descript").val();
3 if(sVal.len > 256) {
4 sVal = sVal.substring(0.256);
5 $("#descript").val(sVal);
6 }
7 $("#charP").html(sVal.length);
8 }

JS实现自定义工具类,隔行换色、复选框全选、隔行高亮等的更多相关文章

  1. jQuery中的几个案例:隔行变色、复选框全选和全不选

    1 表格隔行变色 1 技术分析: 1 )基本过滤选择器: odd: even: 2 )jq添加和移除样式: addClass(); removeClass(); 2 代码实现 <script s ...

  2. js 复选框 全选都选 如果某一个子复选框没选中 则全选按钮不选中

    <!DOCTYPE HTML> <html> <head> <meta charset=UTF-8> <title>js 复选框 全选都选 ...

  3. html+css+js实现复选框全选与反选

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  4. js 判断 复选框全选、全不选、反选、必选一个

    一个挺 使用的 js 代码片段,  判断  复选框全选.全不选.反选.必选一个 记录下, 搬来的 思路: 修改数据的 选中与否状态, 拿到所有的输入框,看是否有选中的状态 <html> & ...

  5. FineReport——JS二次开发(复选框全选)

    在进行查询结果选择的时候,我们经常会用到复选框控件,对于如何实现复选框全选,基本思路: 在复选框中的初始化事件中把控件加入到一个全局数组里,然后在全选复选框里对数组里的控件进行遍历赋值. 首先,定义两 ...

  6. js进阶 9-16 如何实现多选框全选和取消

    js进阶 9-16 如何实现多选框全选和取消 一.总结 一句话总结:选择取到每一个checkbox的值,然后赋值为true或者false就好. 1.如何实现多选框全选和取消? 选择取到每一个check ...

  7. js实现复选框全选/全不选/反选

    js实现复选框全选/全不选/反选 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  8. js实现复选框全选

    HTML代码如下: <div> <label><input type="checkbox" name="aAll">全选&l ...

  9. js复选框全选反选

    本篇文章是关于复选框的,有2种形式:1.全选.反选由2个按钮实现:2.全选.反选由一个按钮实现. <!DOCTYPE html> <html> <head> < ...

随机推荐

  1. 配置Oracle遇到问题<一>

    1, 将D:\app\product\11.2.0\dbhome_1\NETWORK复制到D:\app\product\instantclient_11_2.为了处理: 12154错误,不过没有解决. ...

  2. CentOS-查找删除历史文件

    背景:因服务器磁盘空间有限,根据实际情况控制保留指定的几天内的历史文件 find参数说明: /home/tmp        设置查找的目录 -mtime +30       设置修改时间为30天前 ...

  3. Linux:获取Linux离线postgresql数据库安装包并部署

    获取离线安装包(方法一) 1. 进入官网:https://www.postgresql.org/ 2. 下载步骤 (1)点击Download (2) 选择安装的服务器的版本  (3)更新yum源 #更 ...

  4. svn创建新分支报错:svn: E155015: Aborting commit: XXX remains in conflict

    用diea在对svn创建新分支的时候报错,错误为 svn: E155015: Aborting commit: XXX remains in conflict 百度和查阅资料后得知,此错误为分支被拉取 ...

  5. 嵌入式Linux会议LinuxCon欧洲的时间表公布

    From: http://linuxgizmos.com/embedded-linux-conference-and-linuxcon-europe-schedules-posted/ Linux基金 ...

  6. java基础---集合(1)

    一. 基本概念 集合.数组都是对多个数据进行存储操作的结构,简称Java容器 数组:长度确定,类型确定,对于添加.删除.插入等操作效率不高,元素有序可重复 Java中集合框架顶层框架是:java.ut ...

  7. Linux下面向TCP连接的C++ Socket编程实例

    Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.即Socket提供了操作上述特殊文件的接口,使用这些接口可以实现网络编程. Socket通信流程图 TCP(Transmis ...

  8. python从图片中找图

    import aircv as ac def matcha(bb,aa):#从bb查找aa,如果有则返回其坐标位置 yuan=ac.imread(bb) mubi=ac.imread(aa) resu ...

  9. mysql 远程登录 10038提示,无法连接

    mysql 默认使用端口3306 MYSQL服务器:WIN7 控制面板,WINDOWS防火墙--高级设置--入站规则--新建规则--端口--TCP-特定本地端口--3306--允许连接--下一步,至完 ...

  10. vmare下克隆一台linux

    第一步:点击"克隆"按钮,注意,克隆之前选择的机器需要关机 第二步:接下来需要改一下新机器的mac地址,选中新机器,右键"设置"-->"网络适配 ...