JavaScript删除元素数组

3
我有10个复选框。如果我勾选了复选框,那么该复选框的值将被添加到数组中;如果我取消勾选该复选框,则相应的复选框值将从数组中删除。请问有人能够回答这个问题吗?
4个回答

1

这个必须完全按照这种方式工作吗?在需要时从选中的复选框生成值数组会更容易。

像这样:

// Pass reference to a parent element of all checkboxes, for example the form
function getCheckedBoxes(parent) {
  var result = [];
  var inputs = parent.getElementsByTagName("input");
  for (var i = 0, len = inputs.length; i < len; i++) {
    var cb = inputs[i];
    if (cb.type.toLowerCase() === "checkbox" && cb.checked)
      result.push(cb.value);
  }
  return result;
}

0

尝试使用 JavaScript 的关联数组,例如:

a['title'] = 'Mr.'; 
a["fname'] = 'Brad'; 
a['lname'] = 'Johnson'; 
delete a['title'];

很简单... 当用户勾选时,它会以其ID作为键添加,当取消勾选时,它会删除。


0
function getChecked(ename)
{
field = document.getElementsByName(ename);
var topub = new Array();
for (i = 0; i < field.length; i++)
    if(field[i].checked == true)
    {
        topub.push(field[i].id);
    }
    return topub;
}

以上是我在这种情况下使用的方法。我将所有复选框的名称保持相同,然后将名称传递给此函数,它会返回一个数组。因此,您可以用返回的数组替换您的数组。例如:

var yourOldArray = new Array();<br>
yourOldArray = getChecked("name attribute of checkboxes");

你需要确保所有复选框的name属性具有相同的值。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接