很多功能都可以放在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. form 向java控制类 提交多表数据 、提交list数组数据

    案例:form中有三个表的数据,一个主表,两个子表 1.在主表model类添加 对应子表数据集 2.界面上主表定义 3.控制类接收,直接用主表对象接收即可

  2. bootstrap validate 验证插件

    1.需要引入bootstrapValidator.min.js 2.在需要验证的控件中添加 class="form-control" 3.js中写验证的方法 $('#psasave ...

  3. centos Sonarqube ldap(AD域) 配置

    1. 测试ad 连接 命令: ldapsearch -h 192.168.1.4 -D LXWJadmin@wjj.local -w 用户密码 -b "OU=蓝翔技校,OU=挖掘机事业群,O ...

  4. printf 格式

    1.转换说明符      %a(%A)     浮点数.十六进制数字和p-(P-)记数法(C99)      %c         字符      %d         有符号十进制整数      % ...

  5. SQL反模式读书笔记思维导图

    在写SQL过程以及设计数据表的过程中,我们经常会走一些弯路,会做一些错误的设计.<SQL反模式>这本书针对这些经常容易出错的设计模式进行分析,解释了错误的理由.允许错误的场景,并给出更好的 ...

  6. Mybatis:Mybatis 逆向工程 generator配置

    一.使用Maven方式引入Mybatis依赖Jar包(版本号自己改或定义)

  7. Windows 上连接蓝牙耳机

    "开始"菜单 –> 输入蓝牙 点击蓝牙设备,选择连接设备即可.

  8. 为什么0x100是256个字节、0x400是1KB、0x800是2KB、0x1000是4KB?

    [TOC] # 前言在刚开始学习嵌入式时我们就遇到各种进制之间的换算,十六进制.十进制.八进制.二进制等等,一开始会经常在各种进制之间迷失自我:在深入学习或者做项目或者工作时我们也经常要查看各种芯片的 ...

  9. Django 基础05篇 上下文管理和前端代码复用

    一.上下文管理器 在views中重复使用的代码,可以通过上下文管理器(在setting.py文件中的TEMPLATES中配置)中实现,减少代码冗余 上下文管理器的处理流程如下: 1.先走完views里 ...

  10. python 07篇 内置函数和匿名函数

    一.内置函数 # 下面这些要掌握 # len type id print input open # round min max filter map zip exec eval print(all([ ...