使用Jquery检查/取消选中输入框

时间:2014-07-02 21:22:18

标签: javascript jquery

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

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

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" />

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

实际上,一旦你点击复选框,第一个if总是为真。因此,所有checkebox都被取消选中(包括你点击的那个)。

我假设你想要这种行为: 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 标记,否则您应该解决此问题。