我正在编写产品比较功能并且它运行得相当不错,但是,我在循环和检查复选框的状态时遇到了一些问题,这将决定要比较哪些产品。例如,我可以单击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但仍然没有......我觉得我已经过度复杂了......
感谢您的反馈!
答案 0 :(得分:1)
它就像检查它的状态一样简单。像这样:
function check() {
if (document.getElementById("myCheck").checked == true) {
//do stuff
}
}
请记住为您的输入提供ID,以便您可以执行此操作:
<input class="comparable--object" data="2" type="checkbox" id="thisone1">