任何人都可以帮助我,为什么它返回一个空数组。并提前感谢。你可以查看http://newseinstein.com/Rwork/index.php/Listing上的代码。
代码示例:
function search(){
var pettype = [];
$(".pettype :checked").each(function(){
alert($(this).val());
pettype.push($(this).val());
})
alert(pettype);
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="type[]" class="pettype" value="Lost" onclick="search();">
<input type="checkbox" name="type[]" class="pettype" value="Found" onclick="search();">
&#13;
答案 0 :(得分:0)
您应该删除以下行中的额外空格:
$(".pettype :checked").each(function(){
___________^
应该是:
$(".pettype:checked").each(function(){
此外,选择器将为.pettype
元素内的已检查元素进行搜索。
希望这有帮助。
function search(){
var pettype = [];
$(".pettype:checked").each(function(){
console.log($(this).val());
pettype.push($(this).val());
})
alert(pettype);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="type[]" class="pettype" value="Lost" onclick="search();">
<input type="checkbox" name="type[]" class="pettype" value="Found" onclick="search();">
我建议在JS代码中附加事件而不是内联附件,如:
$('.pettype').on('change', function(){
var pettype = [];
$(".pettype:checked").each(function(){
pettype.push($(this).val());
})
console.log(pettype);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" name="type[]" class="pettype" value="Lost" />
<input type="checkbox" name="type[]" class="pettype" value="Found" />
答案 1 :(得分:-1)
实际上我认为你犯了一个非常小的错误......你有$(".pettype :checked")
但它必须是$(".pettype:checked")
因为否则jQuery正在搜索一个被检查的元素,它是pettype的一个孩子,而不是pettype :)
function search(){
var pettype = [];
$(".pettype:checked").each(function(){
pettype.push($(this).val());
})
alert(pettype);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
HTML Code:
<input type="checkbox" name="type[]" class="pettype" value="Lost" onclick="search();">
<input type="checkbox" name="type[]" class="pettype" value="Found" onclick="search();">