我有10个复选框。如果我单击复选框的值必须推送到数组,如果我取消选中复选框,那么必须从数组中删除相应的复选框值? 请...任何人都回复此
答案 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");
您需要确保所有复选框的名称属性都具有相同的值。