我必须迭代一系列复选框,询问是否选中了复选框,但我无法获得结果。这是我的代码
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");
}
}
答案 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");
}
});