使用 Jquery 选中/取消选中输入框 [重复]

Posted

技术标签:

【中文标题】使用 Jquery 选中/取消选中输入框 [重复]【英文标题】:Check / Uncheck Input Boxes with Jquery [duplicate] 【发布时间】:2014-08-23 20:13:44 【问题描述】:

我一直在寻找试图找到答案的帖子,但没有任何运气,所以希望有人能指出我正确的方向。

当我使用以下代码时,它会检查所有输入框并取消选中它们。但是,如果我再次单击全部检查,它不会全部检查。这是为什么呢?

JQuery

  $('document').ready( function() 
    $('.check_boxes').click( function() 
      if ( $(':checkbox').attr('checked')) 
        $(':checkbox').attr('checked', false);
       else 
        $(':checkbox').attr('checked', true);
           
    );
);

HTML

<input type="checkbox" class="check_boxes" id="check_all" />

【问题讨论】:

尝试使用.prop 而不是.attr 好的,这是你的演示 jsfiddle.net/vhLMN/14 你想要什么? 【参考方案1】:

试试这个:

js

  $('document').ready( function() 
    $('.check_boxes').click( function() 
      if ( $('input:checkbox').prop('checked')) 
        $('input:checkbox').prop('checked', true);
       else 
        $('input:checkbox').prop('checked', false);
           
    );
);

fiddle

【讨论】:

谢谢。如果检查了其中一个输入,则检查所有输入仍保持选中状态:/ 我以为你想要一个复选框来选中/取消选中所有。如果我错了,请纠正我。 是的,这是真的……只是认为如果其中一个输入未被选中,它会取消选中。我还在学习js。【参考方案2】:

实际上,一旦您单击复选框,第一个 if 始终为 true。因此,所有复选框都未选中(包括您单击的复选框)。

我假设你想要这种行为: http://jsfiddle.net/vhLMN/18/

$('document').ready( function() 
    $('.check_boxes').click( function() 
      if ( !this.checked ) 
        $('.flip_us :checkbox').attr('checked', false);
       else 
        $('.flip_us :checkbox').attr('checked', true);
      ;     
    );
);

顺便说一句。输入没有label 属性。你应该修复这个问题,除非你使用一些框架来创建实际的label tag

【讨论】:

不错,应该是id=,谢谢!【参考方案3】:

我认为你需要这个简单的代码:

$('document').ready( function() 
$('.check_boxes').click( function() 
  if ( $(':checkbox').prop('checked')) 
    $(':checkbox').prop('checked', true);
   else 
    $(':checkbox').prop('checked', false);
       
 );
);

【讨论】:

这里是演示jsfiddle.net/vhLMN/17 太棒了,谢谢!我离得不远:)我之前尝试过使用 .prop() ,但它并没有像我拥有代码的方式那样工作。现在,如果未选中其中一个输入,我将如何自动取消选中检查所有输入? 第 3 行也需要是 .prop,对吗?否则我的代码不起作用。 那行不通。见jsfiddle.net/vhLMN/21 这些都不起作用,请参阅jsfiddle.net/vhLMN/23

以上是关于使用 Jquery 选中/取消选中输入框 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法在 chrome 上的移动视图中取消选中复选框输入 [重复]

复选框值不能基于选中或使用jquery取消选中来更改[重复]

jQuery复选框选中/取消选中[重复]

使用jquery实现单选框多选框取消选中状态

Jquery - 问题切换复选框[重复]

jquery按钮取消选中复选框[重复]