jquery:用jquery实现全选和取消全选
1、目前我遇到的最简单的一种方法,如果有更好的方法,大家可以分享一下
<input type="checkbox" id="all" />全选<br />
<input type="checkbox" name="sub" />image1.jpg<br />
<input type="checkbox" name="sub"/>image2.jpg<br />
<input type="checkbox" name="sub"/>image3.jpg<br />
<input type="checkbox" name="sub"/>image4.jpg<br />
<script type="text/javascript">
$(function() {
$('#all').on('click',function(){
if(this.checked) {
$("input[name='sub']").attr('checked',true);
}else {
$("input[name='sub']").attr('checked',false);
}
});
});
</script>
用这个方法,在实现全选和取消全选中遇到了一个问题(这个问题出现在用jquery等动态添加内容时,点击全选后,再次点击取消全选,再次点击全选就不管用了,代码是这样的:
$("#left").append(
"<span>" + "全选" + "</span>" + "<input type="checkbox" name="all" id="all">");
$.each(json.filelist,function(i, item) {
$("#left").append(
"<span>" + item.name + "</span>" + "<input type="checkbox" name="sub">" + "</br>"); });
在这种情况下,我又找到另外一种方法:$("#all").on('click',function() {
$("input[name='sub']").prop("checked", this.checked);
});
$("input[name='sub']").on('click',function() {
var $subs = $("input[name='sub']");
$("#all").prop("checked" , $subs.length == $subs.filter(":checked").length ? true :false);
});
推荐大家使用on绑定点击事件,因为on事件也适用于动态加载的元素
jquery:实现全选和取消全选
原创
©著作权归作者所有:来自51CTO博客作者行善积德韩老魔的原创作品,请联系作者获取转载授权,否则将追究法律责任

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
全选/取消全选
{ for(i=0;i
i++ html javascript -
element-ui 实现全选 取消全选
全选取消全选
ci i++ -
jquery全屏 按钮代码 jquery实现全选和取消全选
jQuery 复选框全选/取消全选/反选
jquery全屏 按钮代码 html 批量删除 javascript -
vue全选和取消全选
代码: .
html 数据 vue.js