如何使用Jquery从复选框中获取多个值

时间:2014-12-05 19:19:12

标签: jquery checkbox input

我目前有这个表格

 <form class='lostKittieForm'>


      <label class="kittieColor"><input type="checkbox" value="Black">Black</label>
      <label class="kittieColor"><input type="checkbox" value="Brown">Brown</label>
      <label class="kittieColor"><input type="checkbox" value="White">White</label>
      <label class="kittieColor"><input type="checkbox" value="Gray">Gray</label>
      <label class="kittieColor"><input type="checkbox" value="Orange">Orange</label>
      <label class="kittieColor"><input type="checkbox" value="Multicolored">Multicolored</label>

      <input type="submit">

 </form>

我的Jquery代码试图获取所有已检查的值,但出于某种原因,它只抓取一个和&#34; Black&#34;

 kittie.color =  $(".lostKittieForm input[type='checkbox']").val();

提前致谢!

4 个答案:

答案 0 :(得分:3)

$("checkbox").each(function(e){

var checkVal = $(this).val();

});

OR

$('.lostKittieForm input:checked').each(function() {
    var checkVal = $(this).val();
}); // will return the value for "checked" checkboxes

循环将针对每个复选框运行,您可以逐个获取checkVal变量中每个复选框的值。

for .each()的文档转到。

http://api.jquery.com/each/

答案 1 :(得分:1)

kittie.color = $("input:checked").each(function() {alert($(this).val());});

这是获取值

的代码

答案 2 :(得分:0)

试试这个:

var kittieColor = new Array();
$('.kittieColor').each(function() {
    if ($(this).find('input').is(':checked')) {
        kittieColor.push($(this).find('input').val());
    }         
});

alert(JSON.stringify(kittieColor));

答案 3 :(得分:0)

你需要一个循环

var colorsChecked = [];
$('input:checkbox.class').each(function () {
      colorsChecked.push(this.checked ? $(this).val() : "");
});