HTML code:
<form method="post" id="cate-form">
<ul class="expander-list" id="category">
<li>
<div class="radio" style="padding-left:0px">
<label>
<input type="checkbox" id="all" value="all">
All </label>
</div>
</li>
<li>
<div class="radio" style="padding-left:0px">
<label>
<input type="checkbox" name="filter[]" value="active">
Active </label>
</div>
</li>
<li>
<div class="radio" style="padding-left:0px">
<label>
<input type="checkbox" name="filter[]" value="inactive">
Inactive </label>
</div>
</li>
</ul>
</form>
jQuery代码:
<script>
$(document).ready(function(){
$("#all").click(function() {
$(':checkbox').prop('checked', this.checked);
});
$(":checkbox").change(function(){
var checked = [];
alert("it running");
$('input[name=checkbox] :checked').each(function(){
alert("data is pushing inside checked array");
checked.push($(this).val());
})
})
});
</script>
点击全部复选框,选中所有复选框。但是我怎样才能一次获得所有选中复选框的值。我在谷歌上搜索了具体的查询但现在没有找到任何帮助,请帮我解决这个问题并提前感谢。
答案 0 :(得分:0)
更改
$('input[name=checkbox] :checked')
到
$('input[type=checkbox]:checked')
因为您的复选框实际上名为filter[]
,但其类型为复选框。
你的代码应该工作
答案 1 :(得分:0)
如果你想要一个数组中的所有值,那么试试这个: -
var checkedValues = $('input:checkbox:checked').map(function() {
return this.value;
}).get();