2016-10-08 140 views
0

HTML代碼:如何使用jQuery獲取所有選中複選框的值?

<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> 

通過點擊所有複選框它選擇所有複選框。但我怎樣才能得到一個所有選定的複選框的價值。我在谷歌搜索具體這個查詢,但沒有什麼幫助,現在請幫助我解決這個問題,並提前感謝。

+1

的可能的複製[如何在jQuery中獲取複選框值(http://stackoverflow.com/ question/786142/how-to-retrieve-checkboxes-values-in-jquery) – Mohammad

回答

0

變化

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

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

因爲你的複選框實際上命名filter[]但它們的類型爲複選框。 你的代碼應該工作,然後

+0

仍然是,每個函數都不起作用 –

+0

你是對的 - 那是因爲':checked'之前的空間現在嘗試 –

0

如果你想在陣列中的所有值,那麼試試這個: -

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