2011-09-13 117 views

回答

3
var form = document.getElementById("yourformname"), 
    inputs = form.getElementsByTagName("input"), 
    arr = []; 

for (var i = 0, max = inputs.length; i < max; i += 1) { 
    // Take only those inputs which are checkbox 
    if (inputs[i].type === "checkbox" && inputs[i].checked) { 
     arr.push(inputs[i].value); 
    } 
} 
+0

有沒有在你的代碼中的錯誤,第一個var語句分號後,使得「輸入」和「常用3」到全局變量的引用。 –

+0

@Jose Faeti:對。非常感謝! – user278064

1

使用jQuery你可以做這樣的事情:

var checkboxArr=[]; 
$('input[type=checkbox]').each(function(){ 
    checkboxArr.push(this); 
}); 

未經測試,不知道如何做到這一點的純JS的工作,也許它可以爲您指出正確的方向

1
var values = [], 
    inputs = document.getElementsByTagName("input"); 

for (var i = inputs.length -1 ; i>= 0; i--) 
    if (inputs[i].type === "checkbox" && inputs[i].checked) 
      values.push(inputs[i].value); 

純JS。

0

您可以在jsfiddle測試以下功能:

function getCheckboxes(form_id, name) { 
    // returns array of checked checkboxes with 'name' in 'form_id' 
    var form = document.getElementById(form_id); 
    var inputs = form.getElementsByTagName("input"); 
    var values = []; 
    for (var i = 0; i < inputs.length; ++i) { 
     if (inputs[i].type === "checkbox" && 
      inputs[i].name === name && 
      inputs[i].checked) 
     { 
      values.push(inputs[i].value); 
     } 
    } 
    return values; 
} 
相關問題