在这里遇到问题,我需要手动选中/取消选中一个复选框。 使用此代码它不起作用
$('input:checkbox').live('click', function(event) {
event.preventDefault();
if($(this).attr('checked') == false) {
$(this).attr('checked', true);
} else {
$(this).attr('checked', false);
}
return false;
});
但使用几乎相同来检查/取消选中所有复选框工作正常...
$(".todos").live('click', function(event) {
event.preventDefault();
$.each($('input[type="checkbox"]'), function(i) {
if($(this).hasClass('in_'+que_caixa)) {
if($(this).attr('checked') == false) {
$(this).attr('checked', true);
} else {
$(this).attr('checked', false);
} }
});
});
我该怎么办?
由于
答案 0 :(得分:1)
您需要返回false,因为在您进行检查后,它仍会继续通过事件
$('input[type="checkbox"]').live('click', function(event) {
if($(this).attr('checked') == false) {
$(this).attr('checked',"checked");
} else {
$(this).attr('checked', false);
}
return false;
});
并且像上面的评论一样,浏览器已经这样做了,为什么你必须绑定它?
另一方面,您可以将其作为选择器执行:
$("input:checkbox")
答案 1 :(得分:0)
浏览器已经为您切换了复选框 你的代码第二次切换它,所以没有任何反应。