Bootstrap按钮复选框

时间:2015-04-24 16:58:21

标签: javascript jquery twitter-bootstrap

$('label > input[type=checkbox]').on('change', function () {
    var selected = 0;
    $('label.active').each(function () {
        selected++;
    });
    console.log(selected);
});

当其中一个引导程序复选框按钮更改时,我使用此代码,但当我将其记录到控制台时,它不准确,如

change() - > 1个活动按钮 - >控制台显示0

change() - > 2个活动按钮 - >控制台显示1

change() - > 3个活动按钮 - >控制台显示2

change() - > 4个活动按钮 - >控制台显示3 等

修改 我的问题可能有点误导,在each我有一个我想要在活跃的元素上执行的函数

我只是想知道我是否能找到所有选中的元素

$('label.active').each(function () {
     // Active, so do a function
     myfunc();
}); 

感谢。

2 个答案:

答案 0 :(得分:1)

我猜想活动类也会在更改时添加到标签中,这意味着它可以在代码执行后发生。

根据OP的编辑进行编辑 尝试

   $('label > input[type=checkbox]').on('change', function () {
        var selected = 0;
        $('label > input[type="checkbox"]:checked').each(function(index, element){
             selected++; 
             //in case you need these element:
             var $cb = $(element), //the checkbox
                 $label = $cb.parent('label'); //the checkboxs label

             //your code here

        });
        console.log(selected);
    });

答案 1 :(得分:0)

试试这个:

$('label > input[type=checkbox]').on('change', function () {
    var selected = $('label.active').length;
    console.log(selected);
});

只需获取数组的长度,然后选择总数。