JS实现自定义工具类,隔行换色、复选框全选、隔行高亮等
很多功能都可以放在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实现自定义工具类,隔行换色、复选框全选、隔行高亮等的更多相关文章
- jQuery中的几个案例:隔行变色、复选框全选和全不选
1 表格隔行变色 1 技术分析: 1 )基本过滤选择器: odd: even: 2 )jq添加和移除样式: addClass(); removeClass(); 2 代码实现 <script s ...
- js 复选框 全选都选 如果某一个子复选框没选中 则全选按钮不选中
<!DOCTYPE HTML> <html> <head> <meta charset=UTF-8> <title>js 复选框 全选都选 ...
- html+css+js实现复选框全选与反选
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- js 判断 复选框全选、全不选、反选、必选一个
一个挺 使用的 js 代码片段, 判断 复选框全选.全不选.反选.必选一个 记录下, 搬来的 思路: 修改数据的 选中与否状态, 拿到所有的输入框,看是否有选中的状态 <html> & ...
- FineReport——JS二次开发(复选框全选)
在进行查询结果选择的时候,我们经常会用到复选框控件,对于如何实现复选框全选,基本思路: 在复选框中的初始化事件中把控件加入到一个全局数组里,然后在全选复选框里对数组里的控件进行遍历赋值. 首先,定义两 ...
- js进阶 9-16 如何实现多选框全选和取消
js进阶 9-16 如何实现多选框全选和取消 一.总结 一句话总结:选择取到每一个checkbox的值,然后赋值为true或者false就好. 1.如何实现多选框全选和取消? 选择取到每一个check ...
- js实现复选框全选/全不选/反选
js实现复选框全选/全不选/反选 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...
- js实现复选框全选
HTML代码如下: <div> <label><input type="checkbox" name="aAll">全选&l ...
- js复选框全选反选
本篇文章是关于复选框的,有2种形式:1.全选.反选由2个按钮实现:2.全选.反选由一个按钮实现. <!DOCTYPE html> <html> <head> < ...
随机推荐
- APP 抓包(应用层)
0x01 前言: app抓包是逆向协议的前提,也是一个爬虫工程师的基本要求,最近发现这块知识非常欠缺就抓紧补补了(我太菜了) 然后接下来是通过vpn将流量导出到抓包软件的方式,而不是通过wifi设置代 ...
- 玩Aarch64最方便的方法
译至:http://d.hatena.ne.jp/embedded/20140819/p1 虽然Aarch64(ARM64)的板子还很难到手.但通过使用qemu就能执行Aarch64的用户空间程序.利 ...
- buu firmware
一.路由器固件,给的是bin文件,要用binwalk将固件文件系统提取出来,同时binwalk的版本要完整不然解压不了文件,下面说的很清楚了. https://blog.csdn.net/QQ1084 ...
- windows下flutter2.2.3环境搭建
先上几个必上的网站: 官网: https://flutter.cn/docs/get-started/install/windows 中文资源网(毕竟中文母语,看着轻松): https://flutt ...
- Django基础-01篇
一.Django介绍 flask,FastApi是轻量级服务端开发框架 Django是重量级服务端开发框架 ORM:封装了数据库操作 form:校验请求数据 安装Django: pip install ...
- STP概述简介及生成树算法
目录: STP概述 STP简介 生成树算法 选择根网桥 选择根端口 选择指定端口 BPDU(桥协议数据单元) STP利用BPDU选择根网桥 STP的收敛 VLAN与STP关系 MSTP多生成树协议华为 ...
- 关于hive的基础
Hive基础 1.引入原因 对存在HDFS上的文件或HBase中的表进行查询时,是要手工写一堆MapReduce代码 对于统计任务,只能由懂MapReduce的程序员才能搞定 事实上,许多底层细节实际 ...
- SVN教程(包括小乌龟) 全图解
转载自http://www.cnblogs.com/armyfai/p/3985660.html SVN使用教程总结 SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很 ...
- 【论文阅读】DSDNet Deep Structured self-Driving Network
前言引用 [2] DSDNet Deep Structured self-Driving Network Wenyuan Zeng, Shenlong Wang, Renjie Liao, Yun C ...
- Window安装构建神器Jenkins
Jenkins是什么? Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件.支持各种运行方式,可通过系统包.Docker 或者通过一个独立的 Java 程 ...