jQuery复选框选中/取消选中
这个问题在这里已经有了答案:
使用.prop()
代替,如果我们用你的代码去比较,像这样:
看看例子jsbin :
$("#news_list tr").click(function () {
var ele = $(this).find(':checkbox');
if ($(':checked').length) {
ele.prop('checked', false);
$(this).removeClass('admin_checked');
} else {
ele.prop('checked', true);
$(this).addClass('admin_checked');
}
});
变化:
input
更改为:checkbox
。 checked checkboxes
the length
。 使用prop()而不是attr()来设置checked
的值。 还可以使用:checkbox
在find方法中的:checkbox
,而不是input
并且是特定的。
现场演示
$("#news_list tr").click(function() {
var ele = $(this).find('input');
if(ele.is(':checked')){
ele.prop('checked', false);
$(this).removeClass('admin_checked');
}else{
ele.prop('checked', true);
$(this).addClass('admin_checked');
}
});
使用道具而不是attr来检查属性
从jQuery 1.6开始,对于尚未设置的属性,.attr()方法返回undefined。 要检索和更改表单元素的选中,选中或禁用状态等DOM属性,请使用.prop()方法
$('mainCheckBox').click(function(){
if($(this).prop('checked')){
$('Id or Class of checkbox').prop('checked', true);
}else{
$('Id or Class of checkbox').prop('checked', false);
}
});
链接地址: http://www.djcxy.com/p/12251.html