Jquery checkbox check/uncheck all works fine-check/uncheck one donds';T
这里有一个问题,我需要手动选中/取消选中一个复选框。 使用此代码是行不通的Jquery checkbox check/uncheck all works fine-check/uncheck one donds';T,jquery,Jquery,这里有一个问题,我需要手动选中/取消选中一个复选框。 使用此代码是行不通的 $('input:checkbox').live('click', function(event) { event.preventDefault(); if($(this).attr('checked') == false) { $(this).attr('checked', true); } else { $(this).attr('checked', false); }
$('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);
} }
});
}))
我能做什么
谢谢您需要返回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")
浏览器已为您切换复选框。
您的代码会再次切换,因此不会发生任何事情。您为什么要这样做?浏览器已执行此操作。
event.preventDefault()
是键。如果您添加该行,您的第一个代码段应该可以工作(但是@SLaks是正确的:checkbox控件已经实现了您正在寻找的行为)。我需要它,因为我正在手风琴中以友好方式创建复选框。当我点击复选框时,密码打开,但复选框没有被选中…这是一个移动应用程序,我没有在线显示,对不起。将代码更改为此“代码”$(“输入:复选框”).live('单击',函数(事件){event.preventDefault();if($(this.attr('checked')==false){$(this.attr('checked',true);}else{$(this.attr('checked',false);}返回false;});'代码'