数组的最后一个元素是一个'数组'

时间:2014-12-09 13:27:23

标签: javascript php jquery arrays

我有以下代码来获取所有已选中复选框的值。令人惊讶的是,数组的最后一个元素是“数组”。

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

即使只选中了一个复选框,它也会在数组中添加额外的元素。 数组将是这样的:

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 个答案:

答案 0 :(得分:1)

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

它将返回数组中复选框的选定值。

referrence link