javascript数组的复选框

时间:2015-05-05 02:05:27

标签: javascript jquery arrays checkbox

我必须迭代一系列复选框,询问是否选中了复选框,但我无法获得结果。这是我的代码

var checkboxes = $(".checked"); 
for (var i = 0; i < checkboxes.length; i++) {
    var check = checkboxes[i];
    if(check.prop('checked')){
        console.log("Checkbox number: " + i + " is checked");
    }
} 

3 个答案:

答案 0 :(得分:2)

这是另一种方法,

var i = 0;
$(".checked").each(function(){
    if (this.checked){
        console.log("Checkbox number: " + i + " is checked");
        i++;
    }
});

答案 1 :(得分:1)

通过在循环中执行checkboxes[i],它返回DOM元素而不是jQuery元素。

您可以使用checkboxes[i]包装$()以使DOM元素成为jQuery元素:

var checkboxes = $(".checked"); 
for (var i = 0; i < checkboxes.length; i++) {
    var check = $(checkboxes[i]);
    if(check.is(':checked')){
        console.log("Checkbox number: " + i + " is checked");
    }
}

我还将.prop('checked')更改为.is(':checked')。这取决于您使用prop使用哪个版本的jQuery可能没问题(&gt; 1.6)。查看this question

答案 2 :(得分:1)

$('.checked').each(function (index, element) {
    if ($(this).is(":checked")) {
        console.log("Checkbox number: " + index + " is checked");
    }
});