2013-01-09 73 views
0

我想循環multiselect複選框的值,以便我可以拆分數組並將它們作爲一個字符串發佈。在PHP中,你可以說:循環javascript多選表單元素

implode(",", $_POST['usage']) 

得到一個逗號分隔的字符串。我如何獲得相同的JavaScript或使用jquery下面的來源。

<input type="checkbox" name="usage[]" id="usage-ContentManagement" value="Content Management"> 
<input type="checkbox" name="usage[]" id="usage-Personal" value="Personal"> 
<input type="checkbox" name="usage[]" id="usage-Business" value="Business"> 
<input type="checkbox" name="usage[]" id="usage-SmallBusiness" value="Small Business"> 

我試圖$('[name="usage[]"]').val(),但它總是會給即使沒有選中複選框「內容管理」。

回答

2

迭代複選框並將其值存儲在數組中。然後「內爆」這個數組。

var arr = []; 
$('[name="usage[]"]:checked').each(function(){ 
    arr.push(this.value); 
}); 
alert(arr.join(',')); 
+0

@RobHruska感謝您的領導 –

+0

謝謝!完美的解決方案 – Du3

2

嘗試$.serializeArray()

var values = $('[name="usage[]"]').serializeArray().map(function(kvp) { 
    // kvp has the form {name:..., value:...} 
    return kvp.value; 
}).join(','); 

的好處是,你可以使用這個任何形式的元素:複選框,單選框中,選擇,文本輸入框,... $.serializeArray可以確保適當的值進行檢索。

+0

好主意,但超過我需要的 – Du3