Javascript,确定检查哪些复选框

时间:2015-11-30 21:50:36

标签: javascript loops checkbox

我正在编写产品比较功能并且它运行得相当不错,但是,我在循环和检查复选框的状态时遇到了一些问题,这将决定要比较哪些产品。例如,我可以单击3个项目上的比较复选框,然后单击“比较选择”,目的是检查所有3个产品将显示在比较窗口中。

现在,有问题的复选框通过WordPress动态附加到页面,并使用数据属性给出一个“可比对象”类和唯一标识符。

这是我的HTML

<label>Checkbox</label>
<input class="comparable--object" data="0" type="checkbox">

<label>Checkbox</label>
<input class="comparable--object" data="1" type="checkbox">

<label>Checkbox</label>
<input class="comparable--object" data="2" type="checkbox">

<label>Checkbox</label>
<input class="comparable--object" data="3" type="checkbox">

我正在使用它来遍历页面上的所有复选框。

var checkboxes = document.querySelectorAll('.comparable--object');
    for(var obj = 0; obj < checkboxes.length; obj++) {
        self = checkboxes[obj]; 
        // determine which checkboxes are checked
    }

我试图有效地为循环中的每个自身对象分配一个事件监听器,但是,这只会返回每个复选框的最后一个索引,即self [maxlength];

我尝试使用.checked但仍然没有......我觉得我已经过度复杂了......

感谢您的反馈!

1 个答案:

答案 0 :(得分:1)

它就像检查它的状态一样简单。像这样:

    function check() {
       if (document.getElementById("myCheck").checked == true) {
          //do stuff
       }
    }

请记住为您的输入提供ID,以便您可以执行此操作:

<input class="comparable--object" data="2" type="checkbox" id="thisone1">