jQuery查看是否选中了任何复选框

bba*_*bba 119 javascript forms jquery

我知道如何选择是否选中了一个单独的复选框.

但我遇到以下问题 - 给定一个表单ID我需要查看是否选中了任何复选框(即1或更多),我需要查看是否没有选中.基本上我需要两个独立的功能来回答这两个问题.帮助将不胜感激.谢谢!

实际上,我只需要一个函数告诉我是否没有选中.知道这会回答另一个问题.

rah*_*hul 233

你可以使用这样的东西

if ($("#formID input:checkbox:checked").length > 0)
{
    // any one is checked
}
else
{
   // none is checked
}
Run Code Online (Sandbox Code Playgroud)

  • jQuery说关于`:checkbox`选择器:`为了在现代浏览器中获得更好的性能,请使用[type ="checkbox"]`,请参阅http://api.jquery.com/checkbox-selector/ - 对于radiobuttons btw,使用[type ="radio"]而不是:radio`http://api.jquery.com/radio-selector/ (11认同)
  • `$("#formID输入:复选框:选中").长度`就足够了 (8认同)

Mic*_*tov 26

JQuery .is将测试所有指定的元素,如果其中至少有一个匹配选择器,则返回true:

if ($(":checkbox[name='choices']", form).is(":checked"))
{
    // one or more checked
}
else
{
    // nothing checked
}
Run Code Online (Sandbox Code Playgroud)


Sar*_*raz 8

你可以这样做:

  if ($('#form_id :checkbox:checked').length > 0){
    // one or more checkboxes are checked
  }
  else{
   // no checkboxes are checked
  }
Run Code Online (Sandbox Code Playgroud)

哪里:

  • :checkbox 过滤选择器选择所有复选框
  • :checked 将选中已选中的复选框
  • length 将给出那些已检查的数量


Ach*_*aul 8

不使用“长度”,你可以这样做:

if ($('input[type=checkbox]').is(":checked")) {
      //any one is checked
}
else {
//none is checked
}
Run Code Online (Sandbox Code Playgroud)


Jam*_*ard 7

这是我用来检查复选框列表中的任何复选框是否已更改的内容:

$('input[type="checkbox"]').change(function(){ 

        var itemName = $('select option:selected').text();  

         //Do something.

});     
Run Code Online (Sandbox Code Playgroud)