jQuery关于全选按钮的实现
2013-11-06 14:39
525 查看
最近写了全选按钮的js实现:
js中的toggle函数可以轻松使点击按钮时候切换状态:
$("#select-all").toggle(function() {
$("#specTable .selects").attr("checked", true);
}, function() {
$("#specTable .selects").attr("checked", false);
});
但是查看源码发现jQuery阻止了点击事件的默认行为,event.preventDefault(),导致全选按钮本身点击不可行,网上有很多解决办法,于是为按钮都绑定click事件得以解决:
$("#select-all").bind('click',function(){//全选按钮
var temp = $(this).attr("checked");
if(typeof temp == 'undefined'){
$("#specTable .selects").removeAttr("checked");
}else if(temp == 'checked'){
$("#specTable .selects").attr("checked", true);
}
});
$("#specTable .selects").bind('click',function(){//每一表格行,jQuery中的隐式迭代:jQuery中的方法都设计成自动操作对象集合,而不是单独的对象,因此可全部添加点击事件
var obj = $("#specTable .selects");
var total = obj.length;
var selectCount = $("#specTable .selects").filter(function(index, element) {
return element.checked;
}).length;
if(total == selectCount)
{
$("#select-all").attr("checked", true);
}
else
{
$("#select-all").attr("checked", false);
}
});
全选功能即实现!
ps:在使用js中的clone函数,一般我们可以获取页面的模板,作为全局变量,随用随clone。
js中的toggle函数可以轻松使点击按钮时候切换状态:
$("#select-all").toggle(function() {
$("#specTable .selects").attr("checked", true);
}, function() {
$("#specTable .selects").attr("checked", false);
});
但是查看源码发现jQuery阻止了点击事件的默认行为,event.preventDefault(),导致全选按钮本身点击不可行,网上有很多解决办法,于是为按钮都绑定click事件得以解决:
$("#select-all").bind('click',function(){//全选按钮
var temp = $(this).attr("checked");
if(typeof temp == 'undefined'){
$("#specTable .selects").removeAttr("checked");
}else if(temp == 'checked'){
$("#specTable .selects").attr("checked", true);
}
});
$("#specTable .selects").bind('click',function(){//每一表格行,jQuery中的隐式迭代:jQuery中的方法都设计成自动操作对象集合,而不是单独的对象,因此可全部添加点击事件
var obj = $("#specTable .selects");
var total = obj.length;
var selectCount = $("#specTable .selects").filter(function(index, element) {
return element.checked;
}).length;
if(total == selectCount)
{
$("#select-all").attr("checked", true);
}
else
{
$("#select-all").attr("checked", false);
}
});
全选功能即实现!
ps:在使用js中的clone函数,一般我们可以获取页面的模板,作为全局变量,随用随clone。
相关文章推荐
- jquery判断checkbox是否选中
- jQuery 获取标签名
- jquery mobile图标显示的问题
- JQuery EasyUI 的加载等待效果....
- jquery 分页控件2
- 查看大图功能代码jquery版
- jquery mobile Listview (列表视图)详讲
- MVC应用jQuery动态产生数据
- 使用 jQuery Mobile 与 HTML5 开发 listView样式总结
- jquery在子窗口获取、赋值父窗口的元素
- jQuery执行请求demo
- jQuery插件机制
- jQuery中的Ajax
- jQuery中的事件
- jQuery选择器
- jQuery验证控件jquery.validate.js使用说明+中文API
- jQuery工作原理解析以及源代码示例
- jQuery选择器总结
- jQuery验证框架介绍
- IE8+Win7下ajaxSubmit异常问题 提示缺少对象 jquery.min.js