有一个问题是:第一次点击全选时不能选中所有的checkbox,之后的click均能执行。望各位大神给予解答~
在id为div1的div中有全选和全不选的复选框,当点击全选时选中所有的checkbox复选框,全不选反之。$('#div1').change(function(){va...
在id为div1的div中有全选和全不选的复选框,当点击全选时选中所有的checkbox复选框,全不选反之。
$('#div1').change(function(){
var lab=$('#selectAll').parent().siblings().find('input[type=checkbox]');
$('#selectAll').click(function(){
lab.prop('checked',$('#selectAll').prop('checked'));
$('#unselAll').prop('checked',false);
});
$('#unselAll').click(function(){
lab.prop('checked',false);
$('#selectAll').prop('checked',false);
});
}); 展开
$('#div1').change(function(){
var lab=$('#selectAll').parent().siblings().find('input[type=checkbox]');
$('#selectAll').click(function(){
lab.prop('checked',$('#selectAll').prop('checked'));
$('#unselAll').prop('checked',false);
});
$('#unselAll').click(function(){
lab.prop('checked',false);
$('#selectAll').prop('checked',false);
});
}); 展开
1个回答
展开全部
1、你的写法有问题的,$('#selectAll').click事件触发时,你获取到的$('#selectAll').prop('checked')值未必是你要的值,所以你要直接写成true。
2、没有必要监听div1的change事件。
3. 建议这么写:
// 全选
$('#selectAll').click(function(){
$(this).parent().siblings().find('input[type=checkbox]').prop("checked",true);
$('#unselAll').prop('checked',false);
});
更多追问追答
追问
监听div1的change事件是为了我要获取哪些checkbox是选中了,这里未复制全部的代码,
直接写成这样 $(this).parent().siblings().find('input[type=checkbox]').prop("checked",true);第一次点击还是不能实现选中所有,但第二次,第三次都能实现。。。这是什么原因呢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询