javascript删除元素数组

时间:2010-06-07 09:15:02

标签: javascript

我有10个复选框。如果我单击复选框的值必须推送到数组,如果我取消选中复选框,那么必须从数组中删除相应的复选框值? 请...任何人都回复此

4 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

使用array.splice(index,howmany,element1,.....,elementX)。在此处详细了解拼接:http://www.w3schools.com/jsref/jsref_splice.asp

答案 2 :(得分:0)

尝试javascript关联数组,如:

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

它很简单......当用户检查时,它会添加id作为密钥,当取消选中时,它会删除

答案 3 :(得分: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");

您需要确保所有复选框的名称属性都具有相同的值。