Jquery复选框检查/取消选中一切正常 - 检查/取消选中一个没有

时间:2011-03-29 15:18:14

标签: jquery

在这里遇到问题,我需要手动选中/取消选中一个复选框。 使用此代码它不起作用

$('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);
        }               }
});

});

我该怎么办?

由于

2 个答案:

答案 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)

浏览器已经为您切换了复选框 你的代码第二次切换它,所以没有任何反应。