2014-12-09 154 views
0

我有以下代碼來獲取所有選中的複選框的值。令人驚訝的是,數組的最後一個元素是「數組」。數組的最後一個元素來作爲'數組'

var selected = []; 
$('#checkboxes input:checked').each(function(){ 
    selected.push($(this).attr('value')); 
}); 

即使只選中一個複選框,它也會在數組中添加額外的元素。 Array將是這樣的:

selected[0]=Dove 
selected[1]=Array 

可能是什麼問題呢?我無法找到任何背後的原因。誰能幫忙?

HTML代碼

<ul id='checkboxes' class="list-style1"> 
<?php foreach($brands as $row){ ?> 
<span class='checkbox-wrapper' id='<?php echo $brand; ?>'> 
<li><input type='checkbox' value='<?php echo $row['brand']; ?>'> 
<label for='<?php echo $row['brand']; ?>'><?php echo $row['brand']; ?></label> 
</li></span> 
<?php } ?> 
</ul> 
+1

你也可以添加html代碼。 – asimshahiddIT 2014-12-09 13:30:07

+0

您可能有'name =「名稱[]的輸入'' – andrew 2014-12-09 13:30:58

+0

適用於我的代碼片段相同。 http://jsfiddle.net/ros2w6ym/1/ – vivek 2014-12-09 13:32:37

回答

1
var checkedValues = $('#checkboxes input:checked').map(function() { 
return this.value; 
}).get(); 

它將在數組中返回複選框的選擇的值。

referrence link

相關問題