2010-06-07 239 views
3

我有10個複選框。如果我點擊複選框的值必須推入數組,如果我取消選中複選框,則相應的複選框值必須從陣列? 請...任何人給這個回覆JavaScript刪除元素數組

回答

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屬性值相同。