我有以下代码来获取所有已选中复选框的值。令人惊讶的是,数组的最后一个元素是“数组”。
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>
答案 0 :(得分:1)
var checkedValues = $('#checkboxes input:checked').map(function() {
return this.value;
}).get();
它将返回数组中复选框的选定值。