jQuery获取所有检查的值不起作用

时间:2017-04-27 14:58:57

标签: jquery html

任何人都可以帮助我,为什么它返回一个空数组。并提前感谢。你可以查看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;
&#13;
&#13;

2 个答案:

答案 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();">