如何使用jQuery获取所有选中复选框的值?

时间:2016-10-08 10:43:01

标签: javascript jquery html

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>

点击全部复选框,选中所有复选框。但是我怎样才能一次获得所有选中复选框的值。我在谷歌上搜索了具体的查询但现在没有找到任何帮助,请帮我解决这个问题并提前感谢。

2 个答案:

答案 0 :(得分:0)

更改

$('input[name=checkbox] :checked')

$('input[type=checkbox]:checked') 

因为您的复选框实际上名为filter[],但其类型为复选框。 你的代码应该工作

答案 1 :(得分:0)

如果你想要一个数组中的所有值,那么试试这个: -

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