2014-12-09 99 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

相关问题