$('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();
});
感谢。
答案 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);
});
只需获取数组的长度,然后选择总数。