2013-10-23 54 views
0

如何將數組中的複選框值傳遞給在JavaScript中使用onclick的函數。 以下是我的html代碼。請注意,我不使用表單標記。只使用輸入標籤。如何將數組中的複選框值傳遞給在javascript中使用onclick的函數

<input id="a"name="a" type="checkbox" value="1" checked="checked" >A</input> 
<input id="a"name="a" type="checkbox" value="2" checked="checked" >B</input> 
<input id="a"name="a" type="checkbox" value="3" checked="checked" >C</input> 
<button onclick="send_query(????)">CLICK</button> 

以下是我的JavaScript功能

function send_query(check) { 
var str = ""; 
    for (i = 0; i < check.length; i++) { 

     if (check[i].checked == true) { 
      str = str + check[i]; 
     } 
console.log(str); 

} 

回答

0

使用純JavaScript(demo)(僅使用Chrome進行測試)。

HTML:

<button onclick="send_query(document.getElementsByTagName('input'))"> 

的Javascript:

function send_query(check) { 
    var values = []; 
    for (i = 0; i < check.length; i++) { 
     if (check[i].checked == true) { 
      values.push(check[i].value); 
     } 
    } 
    console.log(values.join()); 
} 
3

可以編寫爲按鈕一個onclick處理程序,其可以創建點擊複選框值的陣列,然後調用send_query與參數如下所示

<button onclick="onclickhandler()">CLICK</button> 

然後

function onclickhandler() { 
    var check = $('input[name="a"]:checked').map(function() { 
     return this.value; 
    }).get(); 
    console.log(check); 
    send_query(check) 
} 

注:我還建議使用jQuery來註冊點擊處理程序,而不是使用內聯onclick處理程序

注:另外要素ID必須是唯一的一個文件中...你有編號a多個元素,我沒有看到你使用該ID的任何地方,所以你也許可以將其刪除

+0

但IAM傳遞另一個輸入值,它是通過同一個呼叫文本,所以用我怎樣才能通過此複選框值 – nikki

+0

別在最後忘記'.get()'。 – Johan

+0

@Johan yes ...'.get()。join(',')' –

0

嘗試此

<form name="searchForm" action=""> 
    <input type="checkbox" name="categorySelect[]" id="1"/> 
    <input type="checkbox" name="categorySelect[]" id="2" /> 
    <input type="checkbox" name="categorySelect[]" id="3"/> 
    <input type="button" value="click" onclick="send_query();"/> 
</form> 

JS

function send_query() { 
var check = document.getElementsByName('categorySelect[]'); 
var selectedRows = []; 
for (var i = 0, l = check.length; i < l; i++) { 
    if (check[i].checked) { 
     selectedRows.push(check[i]); 
    } 
} 

alert(selectedRows.length); 
} 
+0

我需要onclick函數發送複選框的值作爲數組功能 – nikki

+0

檢查新編輯ans – Prateek

+0

不,我需要通過使用onClick從一個單一的按鈕 – nikki

相關問題