【发布时间】:2015-12-01 05:55:35
【问题描述】:
我正在编写产品比较功能,并且进展顺利,但是,我在循环和检查复选框的状态时遇到了一些麻烦,这些复选框将确定要比较的产品。例如,我可以单击 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 对象分配一个事件侦听器,但是,这只会返回每个复选框的最后一个索引,即 self[maxlength];
我尝试使用 .checked,但仍然没有...我觉得我已经过度复杂化了...
感谢您的任何反馈!
【问题讨论】:
标签: javascript loops checkbox