0

单击名为 chekcAll 的复选框时,我有 4 个复选框,我想检查其他 3 个复选框。

我能够做到,但我想知道在该页面上选择了多少复选框。

我正在使用 $("input :checked").length

查找选中复选框的计数。

但这不起作用。

$("#checkAll").click(function () {
     if($("#checkAll").is(":checked")){
        $('input:checkbox').not(this).prop('checked', this.checked);
        $('input:checkbox').not(this).attr('checked',this.checked);
        alert($("input :checked").length);
     }
     else{
         $("input :checkbox").prop("checked",false);
         $("input :checkbox").removeAttr('checked');
     }
});

http://jsfiddle.net/7mx4k/

4

5 回答 5

2

尝试这样的事情,小提琴

他们之间不应该有空隙

  alert($("input:checked").length);

通过应用类FIDDLE修改您的代码以获得正确的长度

        <input type="checkbox" class="ckh_bx" id="checkItem">Item 1
        <input type="checkbox" class="ckh_bx" id="checkItem">Item 2
        <input type="checkbox" class="ckh_bx" id="checkItem">Item3

javascript代码

         $("#checkAll").click(function () {
             if($("#checkAll").is(":checked")){
             $('input:checkbox').not(this).prop('checked', this.checked);
             $('input:checkbox').not(this).attr('checked',this.checked);
                 alert($(".ckh_bx:checked").length);
             }
             else{
                 $("input :checkbox").prop("checked",false);
                 $("input :checkbox").removeAttr('checked');
             }
         });
于 2013-11-15T06:15:00.237 回答
2

space$("input :checked").length喜欢中删除,

试试这个,

$("#checkAll").click(function () {
  $('input:checkbox').prop('checked', this.checked);
  alert($("input:checked").length);     
});

演示

于 2013-11-15T06:15:13.200 回答
1

它应该是

alert($("input:checkbox:checked").not(this).length);

前任:

var $checks = $('input:checkbox').not('#checkAll');
$("#checkAll").click(function () {
    $checks.prop('checked', this.checked);
    alert($checks.filter(':checked').length);
});

演示:小提琴

于 2013-11-15T06:14:57.773 回答
1

您的警报选择器中有一个空格,这意味着寻找输入的后代

应该

$("input:checked")

else选择器中的类似问题

于 2013-11-15T06:15:28.397 回答
1

http://api.jquery.com/checked-selector/

在此示例中,您的选择器之间没有空格。这个链接应该可以帮助你。

于 2013-11-15T06:17:43.407 回答