2014-12-05 2 views
0

Я в настоящее время имеют эту формуКак захватить несколько значений из флажков с Jquery

<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 код пытается захватить все значения проверяются, но по какой-то причине это только захватывая один и «черный»

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

Заранее спасибо!

ответ

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

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

}); 

ИЛИ

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

Цикл будет выполняться для каждого чекбокса, и вы можете получить значение каждого флажка в checkVal Variable один за другим.

для документации .each() перейти к.

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

+0

Спасибо! Это сработало ~! –

0

попробовать это:

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

alert(JSON.stringify(kittieColor)); 
0

Вам нужен цикл

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

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

здесь код, чтобы получить значение

+0

Это тоже сработало! Спасибо! Тем не менее, это предупреждает об этом. Должен ли я хранить все это в виде varieable, таком как x, а затем x = kittie.color? –

+0

есть. вы можете объявить переменную массива вне этой функции. Что-то вроде этого. 'var color_list = []; kittie.color = $ ("input: checked"). Each (function ({color_list.push ($ (this) .val());}); ' – Skyprenet