繁体   English   中英

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

[英]jQuery see if any or no checkboxes are selected

我知道如何查看单个复选框是否被选中。

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

实际上,我只需要一个 function 来告诉我是否没有选择。 知道这一点将回答另一个问题。

你可以使用这样的东西

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

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

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

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

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

你可以这样做:

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

哪里:

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

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

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

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

         //Do something.

});     

Rahul 的回答最适合您的问题。 无论如何,如果您要检查一组复选框而不是表单中的所有复选框,您可以选择它。

为您要检查的所有复选框输入类test_check ,例如,类名test_check ,现在您可以通过以下方式检查是否有任何复选框属于该组:

$("#formID .test_check:checked").length > 0

如果它返回true ,则假设检查了一个或多个复选框,类名test_check ,如果返回false test_check检查任何复选框。

希望它可以帮助某人。 谢谢:)-

您可以在此处简单地返回.length

function areAnyChecked(formID) {
  return !!$('#'+formID+' input[type=checkbox]:checked').length;
}

查找给定表单中的复选框,查看是否有:checked并返回true (因为否则长度将为 0)。 为了更清楚一点,这里是非布尔转换版本:

function howManyAreChecked(formID) {
  return $('#'+formID+' input[type=checkbox]:checked').length;
}

这将返回检查了多少的计数。

这是解决这个问题的最好方法。

  if($("#checkbox").is(":checked")){

  // Do something here /////

  };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM