我目前有这个表格
<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();
提前致谢!
答案 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()的文档转到。
答案 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() : "");
});