【问题标题】:Javascript when checkbox is checked, add checkbox ID to an array选中复选框时的Javascript,将复选框ID添加到数组
【发布时间】:2014-01-26 12:22:59
【问题描述】:

我正在定义一组选中的复选框:

<script>
var all_checked = new Array();
function add_checked(checked_checkbox_id)
{
all_checked.push(checked_checkbox_id);
}

<html>
<input type="checkbox" name="a" id="1" value="1" onclick="add_checked(?????);" />
</html>

所以我的问题是如何将选中的复选框 ID 传递给函数以附加到全局

all_checked

变量

【问题讨论】:

标签: javascript html


【解决方案1】:

通过传递给 yout 函数使用 this 关键字。

 onclick="add_checked(this)";

这里可以把id设为

this.id

然后在

function add_checked(checked_checkbox) {
  all_checked.push(checked_checkbox.id);
}

仅供参考: script 标签应该在 html 标签内

【讨论】:

    【解决方案2】:

    在您的函数中传递this,然后使用它来获取id 属性:

    HTML

    <input type="checkbox" name="a" id="1" value="1" onclick="add_checked(this);" />
    

    JavaScript

    var all_checked = new Array();
    function add_checked(el) {
        all_checked.push(el.id);
    }
    

    请记住,这会将id 推送到数组中,无论该框被选中还是未选中,即使id 已经存在于数组中。

    JSFiddle

    【讨论】:

      【解决方案3】:

      HTML:

      <button onclick="send_query(document.getElementsByTagName('input'))">
      
      function send_query(check) {
      
          var values = [];
          for (i = 0; i < check.length; i++) {
              if (check[i].checked == true) {
                  values.push(check[i].value);
              }
          }
          console.log(values.join());
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-21
        • 1970-01-01
        • 2021-08-21
        • 1970-01-01
        • 2013-06-06
        • 1970-01-01
        相关资源
        最近更新 更多