【问题标题】:Javascript, Determining Which Checkboxes Are CheckedJavascript,确定选中哪些复选框
【发布时间】: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


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多