Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery/Javascript检查用户是否至少选中了一组复选框中的一个复选框?_Javascript_Jquery_Validation_Checkbox - Fatal编程技术网

如何使用jQuery/Javascript检查用户是否至少选中了一组复选框中的一个复选框?

如何使用jQuery/Javascript检查用户是否至少选中了一组复选框中的一个复选框?,javascript,jquery,validation,checkbox,Javascript,Jquery,Validation,Checkbox,我有以下HTML代码: <ul class='select_ul' style="width:100%"> <li><input name="chk_all_grp_day" id="chk_all_grp_day" type="checkbox"/><span>All</span></li> <li><input name="val[grp_day][]" type="checkbox" val

我有以下HTML代码:

<ul class='select_ul' style="width:100%">
  <li><input name="chk_all_grp_day" id="chk_all_grp_day"  type="checkbox"/><span>All</span></li>
  <li><input name="val[grp_day][]" type="checkbox" value="Mon" /><span>Mon</span></li>
  <li><input name="val[grp_day][]" type="checkbox" value="Tue" /> <span>Tue</span> </li>
  <li><input name="val[grp_day][]" type="checkbox" value="Wed" /> <span>Wed</span></li><br />
  <li><input name="val[grp_day][]" type="checkbox" value="Thu" /> <span>Thu</span> </li>
  <li><input name="val[grp_day][]" type="checkbox" value="Fri" /><span>Fri</span> </li>
  <li><input name="val[grp_day][]" type="checkbox" value="Sat" /> <span>Sat</span></li>
  <li><input name="val[grp_day][]" type="checkbox" value="Sun" /><span>Sun</span></li>
</ul>
    全部
  • 周一
  • 星期二
  • 星期三

  • 周四
  • 星期五
  • 太阳
现在,我必须使用jQuery/Javascript检查用户是否至少选中了上述复选框中的一个复选框

如果他没有选中上述复选框中的任何一个,则显示错误消息

我应该如何使用jQuery/JavaScript

请帮帮我

谢谢

尝试使用:

$('ul input[type=checkbox]:checked').length > 0// then at least one is checked else show error msg.
$(文档).ready(函数(){
$(“#单击”)。单击(函数(){
检查();
});
});
函数检查(){
如果($('ul input[type=checkbox]:选中')。长度>0){
警报($('ul input[type=checkbox]:checked')。长度);
}否则{
警报(“错误消息”);
}
}

    全部
  • 周一
  • 星期二
  • 星期三

  • 周四
  • 星期五
  • 太阳
单击

在jQuery中, 您可以看到该组中有多少复选框被选中,如下所示:

$("ul input:checked").length > 0
获取所有选中的复选框,
$(“输入:选中”)
*,以及属于ul元素的复选框,
$(“ul输入:选中”)

*我们不需要
[type=checkbox]
,因为只能选中复选框/收音机,所以在您的情况下,它是多余的,没有单选按钮

如果你在页面上有多个这样的组,你可以考虑给每个UL“容器”一个ID,并用这种方式获取一个组的复选框:

$("#my-ckeckbox-group-id input:checked")
这也实现了警报

在小提琴中,我使用了以下代码:

$("#submitton").click(function(){
    if ($("ul.select_ul input:checked").length > 0){
        $("body").html("Well Done! You checked at least 1 check box!");
    } else {
        alert("You need to check at least one checkbox.");
    }
});
它还实例化了错误/警告消息

在纯javascript中, 只需将所有选中的复选框存储在一个数组中,并检查其长度:

document.querySelectorAll("ul input:checked").length > 0;
它几乎与jQuery解决方案相同

,它还实现了警报系统

在js中可能有一种更简单的方法来实现这一点,但我不知道。

我看了一下,这也可以使用:

var n = $( "input:checked" ).length;
$(“按钮”)。单击(函数(){
var n=$(“输入:已选中”).length;
如果(n==0)
$(“#结果”).text(“您没有选中任何选项”);
其他的
$(“#结果”).text(“”);
});

    全部的
  • 周一
  • 星期二
  • 结婚

  • 清华大学
  • 星期五
  • 太阳
点击
看一看,它似乎做得很完美。