jQuery - 复选框正在计数但不是单击check all复选框时

时间:2014-08-09 17:04:00

标签: javascript jquery html checkbox

我有一个简单的脚本来计算已经检查过的所有.checkboxes。当他们各自单独检查时,计数工作正常,但是当我选择.checkall复选框时,它不计算在内。我确实尝试将$checkboxes变量更改为input[type=checkbox],但计数不正确。

jsfiddle - http://jsfiddle.net/darcyvoutt/rv4j8ghn/

代码:

      // Select all checkboxes
      $(document).ready(function() {
        $('.checkall').click(function(event) {  
          if (this.checked) {
            $('.checkboxes').each(function() {
              this.checked = true;
            });
          } else {
            $('.checkboxes').each(function() {
              this.checked = false; 
            });         
          }
        });      
      });

      // Count Checkboxes
      $(document).ready(function(){
        var $checkboxes = $('.checkboxes');
        var checkall = $('.checkall:checked');

        $checkboxes.change(function(){ 
          var count = $checkboxes.filter(':checked').length;              
          $('.counted').val(count);
        });
      });

1 个答案:

答案 0 :(得分:1)

$(document).ready(function () {
    $('.checkall').click(function (event) {    
    $('.checkboxes').prop('checked', this.checked);
    var $checkboxes = $('.checkboxes');
    var count = $checkboxes.filter(':checked').length;
    $('.counted').val(count);
   });
});

您必须在checkall点击事件中添加复选框选中的计数代码。

演示:

http://jsfiddle.net/h7zprokf/2/