【问题标题】:javascript array of checkboxes复选框的javascript数组
【发布时间】:2015-05-05 02:05:26
【问题描述】:

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

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");
    }
} 

【问题讨论】:

  • 使用if($(check).prop('checked')){ 而不是if(check.prop('checked')){

标签: javascript jquery arrays checkbox


【解决方案1】:

这是另一种方法,

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

【讨论】:

    【解决方案2】:

    通过在循环中执行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')。这取决于您使用的 jQuery 版本prop 可能没问题(> 1.6)。查看this question

    【讨论】:

      【解决方案3】:
      $('.checked').each(function (index, element) {
          if ($(this).is(":checked")) {
              console.log("Checkbox number: " + index + " is checked");
          }
      });
      

      【讨论】:

        猜你喜欢
        • 2013-05-12
        • 2014-01-26
        • 2015-01-29
        • 2017-11-15
        • 1970-01-01
        • 2023-04-10
        • 2015-08-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多