Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery checkbox check/uncheck all works fine-check/uncheck one donds';T_Jquery - Fatal编程技术网

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;});'代码'