jquery 页面全选框实践代码


Posted in Javascript onApril 02, 2010
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>全选</title> 
</head> 
<body> 
<div>demo 
<input type="button" onclick="alert(ob.checkedIds());" value="选中ID"/> 
<input type="button" onclick="alert(ob.checkedTexts());" value="选中值"/> 
<input type="button" onclick="alert(ob.checkedKeys('value1'));" value="选中属性值"/> 
</div> 
<table class="infor"> 
<tr> 
<th><input name="allcheck" id="allcheck1" type="checkbox" value="1"/> 
全选</th> 
</tr><tr> 
<td><input name="record" type="checkbox" value="1" value1="11"/>去 
</td></tr><tr> 
<td><input name="record" type="checkbox" value="2" value1="22"/>啊 
</td></tr><tr> 
<td><input name="record" type="checkbox" value="3" value1="33"/>我 
</td></tr><tr> 
<td><input name="record" type="checkbox" value="4" value1="44"/>饿 
</td></tr> 
</table> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script type="text/javascript" > 
//http://www.cnblogs.com/libsource 
(function($){ 
$.allcheck=function(options){ 
_defaults = { 
allcheckid:"allcheck", 
checkboxname:'record' 
}; 
o = $.extend(_defaults,options); 
_allck=$("#"+o.allcheckid); 
_tbl=_allck.parents("table"); 
//返回所有选中checkbox的id集合 
checkedIds=function () { 
var ids = ""; 
$("input[name=" + o.checkboxname + "]").each(function() { 
if ($(this).attr("checked")) 
ids += $(this).val() + ","; 
}); 
return ids.replace(/,$/,''); 
} 
//返回所有选中checkbox的key属性集合 
checkedKeys=function (key) { 
var ids = ""; 
$("input[name=" + o.checkboxname + "]").each(function() { 
if ($(this).attr("checked")) 
ids += $(this).attr(key) + ","; 
}); 
return ids.replace(/,$/,''); 
} 
//返回所有选中checkbox的文本集合 
checkedTexts=function () { 
var txts = ""; 
$("input[name=" + o.checkboxname + "]").each(function() { 
if ($(this).attr("checked")) 
txts += gtrim($(this).parent().text()) + ","; 
}); 
return txts.replace(/,$/,''); 
} 
gtrim=function (txt) { 
return txt.replace(/(^\s*)|(\s*$)/g, ""); 
} 
//设置所有选中checkbox的id集合 
setCheckedIds=function (checkids) { 
checkids = ","+checkids+","; 
$("input[name=" + o.checkboxname + "]").each(function() { 
if (checkids.match(","+$(this).val()+",")) 
$(this).attr("checked","checked"); 
}); 
} 
//检查所有checkbox是否全选 
_checkAll=function () { 
if (this.checked && $("input:checkbox:not([checked]):not(#" + o.allcheckid + ")", _tbl).length == 0) 
_allck[0].checked = true; 
else 
_allck[0].checked = false; 
} //全选checkbox状态 
_setAllChecked=function () { 
if (!this.checked) 
$("input:checkbox", _tbl).removeAttr("checked"); 
else 
$("input:checkbox", _tbl).not(this).attr("checked", "checked"); 
} 
_allck.click(_setAllChecked); 
$("input:checkbox[name="+o.checkboxname+"]").each(function(){$(this).click(_checkAll);}); 
return {checkedIds:checkedIds,checkedKeys:checkedKeys,checkedTexts:checkedTexts,setCheckedIds:setCheckedIds}; 
}; 
})(jQuery); 
</script> 
<script type="text/javascript"> 
var ob=$.allcheck({allcheckid:'allcheck1'}); 
//设置选项allcheckid checkboxname 
//取返回值可以调用checkedIds,checkedKeys,checkedTexts 
</script> 
</body> 
</html>
Javascript 相关文章推荐
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
Apr 07 Javascript
js如何实现设计模式中的模板方法
Jul 23 Javascript
js取消单选按钮选中示例代码
Nov 14 Javascript
javascript HTML+CSS实现经典橙色导航菜单
Feb 16 Javascript
简洁实用的BootStrap jQuery手风琴插件
Aug 31 Javascript
AngularJS页面传参的5种方式
Apr 01 Javascript
JavaScript使用readAsDataURL读取图像文件
May 10 Javascript
vue.js实例todoList项目
Jul 07 Javascript
vue项目中用cdn优化的方法
Jan 03 Javascript
Vue源码学习之关于对Array的数据侦听实现
Apr 23 Javascript
vue实现匀速轮播效果
Jun 29 Javascript
在Vue中使用mockjs代码实例
Nov 25 Vue.js
jQuery 自动增长的文本输入框实现代码
Apr 02 #Javascript
jquery select下拉框操作的一些说明
Apr 02 #Javascript
纯JavaScript实现的完美渐变弹出层效果代码
Apr 02 #Javascript
AJAX使用了UpdatePanel后无法使用alert弹出脚本
Apr 02 #Javascript
获取焦点时,利用js定时器设定时间执行动作
Apr 02 #Javascript
Javascript 类与静态类的实现(续)
Apr 02 #Javascript
用js实现计算加载页面所用的时间
Apr 02 #Javascript
You might like
PHP使用PHPMailer发送邮件的简单使用方法
2013/11/12 PHP
PHP URL路由类实例
2013/11/12 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
PHP实现的简单路由和类自动加载功能
2018/03/13 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
PHP7移除的扩展和SAPI
2021/03/09 PHP
JS日历 推荐
2006/12/03 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
javascript实现日期按月份加减
2015/05/15 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
AngularJS入门教程之数据绑定用法示例
2016/11/01 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
React复制到剪贴板的示例代码
2017/08/22 Javascript
js实现鼠标移动到图片产生遮罩效果
2017/10/21 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
详解如何配置vue-cli3.0的vue.config.js
2018/08/23 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
Python编程中对文件和存储器的读写示例
2016/01/25 Python
Python中基础的socket编程实战攻略
2016/06/01 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
在SQLite-Python中实现返回、查询中文字段的方法
2019/07/17 Python
简单介绍python封装的基本知识
2019/08/10 Python
Pycharm小白级简单使用教程
2020/01/08 Python
完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误
2020/04/01 Python
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
花卉与景观设计系大学生求职信
2013/10/01 职场文书
单位人事专员介绍信
2014/01/11 职场文书
大学毕业生管理学求职信
2014/09/01 职场文书
2015政治思想表现评语
2015/03/25 职场文书