Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.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
Javascript JQuery确定是否已选中所有复选框列表(在div中)_Javascript_Jquery_Checkboxlist - Fatal编程技术网

Javascript JQuery确定是否已选中所有复选框列表(在div中)

Javascript JQuery确定是否已选中所有复选框列表(在div中),javascript,jquery,checkboxlist,Javascript,Jquery,Checkboxlist,我试图使用jQuery对表单进行一些验证;我需要一种方法,在该方法中,我可以验证中的所有控件是否已填写\选中。我的应用程序支持的复选框列表让我很为难,因为jQuery似乎喜欢单独处理每个复选框,但我真正需要做的是评估div中的所有cbl,并知道每个cbl是否至少选中了一个复选框 我可以根据自己的喜好命名DIV和单个CBL的id(也可以命名CBL1、CBL2等)。我真的需要一种方法来解析列表中的所有内容。您需要在每个列表中至少选中一个复选框。不知道这是否可行(使所有的CBL都有一个以“CBL”开头

我试图使用jQuery对表单进行一些验证;我需要一种方法,在该方法中,我可以验证中的所有控件是否已填写\选中。我的应用程序支持的复选框列表让我很为难,因为jQuery似乎喜欢单独处理每个复选框,但我真正需要做的是评估div中的所有cbl,并知道每个cbl是否至少选中了一个复选框


我可以根据自己的喜好命名DIV和单个CBL的id(也可以命名CBL1、CBL2等)。我真的需要一种方法来解析列表中的所有内容。您需要在每个列表中至少选中一个复选框。不知道这是否可行(使所有的CBL都有一个以“CBL”开头的ID(例如CBL1、CBL2等等)):


这里有一个

假设ASP解析您的CBL如下:

<h2>Interests</h2>
<ul id='CBL1' class='checkboxlist'>
    <li><input type='checkbox' name='interest' value='javascript'> JavaScript</li>
    <li><input type='checkbox' name='interest' value='jquery'> jQuery</li>
</ul>
<h2>Hobbies</h2>
<ul id='CBL2' class='checkboxlist'>
    <!-- subsequent data -->
兴趣
  • JavaScript
  • jQuery
业余爱好
您可以通过以下方式检查此项:

function validateCBLs() {
    var $lists = $('ul.checkboxlist');
    $lists.each(function(i, item) {
        if ($(item).find(':checked').length < 1) {
            //Show user an error, etc
            alert('Please, check at least one item from ' + $(item).attr('id'));
        }
    });
}
函数validateCBLs(){
var$lists=$('ul.checkboxlist');
$lists.每个(功能(i,项){
if($(项).find(':checked')。长度<1){
//向用户显示错误等
警报('请检查'+$(item).attr('id')中的至少一项);
}
});
}
jsiddle:

试试这个:

$('.checkboxlist').filter(function(){
            return $(this).find(':checked').size()>0;
        }).size()

这将为您提供至少选中一个复选框的CBL的数量。

您能给我们一些呈现的HTML吗?复选框列表不是一个HTML概念,而是一个被转换为HTML的Microsoft概念。如果选中了所有的复选框,而不是所有的复选框列表,那么这个答案对于了解如何遍历这些复选框可能很有用。@Rocket-它是ASP.Net中的一个控件,呈现为复选框的表或流布局复选框列表包含复选框,对吗?那么,为什么这不起作用呢?@Rocket-你要求检查每个列表中的每个复选框,而不是每个列表中至少一个。@Nick-噢。谢谢忽略这个答案。注意:演示使用两个ASP.NET复选框列表控件+1的实际输出,但是。。。为什么变量名前面有$符号?哦,这里需要一个var语句。@Billy ONeal,有些人在jQuery选择器变量前面加上
$
前缀,以将其标识为jQuery选择器。我不总是这样,我也不能告诉你我为什么在这里这么做。。。修复了var语句。
function validateCBLs() {
    var $lists = $('ul.checkboxlist');
    $lists.each(function(i, item) {
        if ($(item).find(':checked').length < 1) {
            //Show user an error, etc
            alert('Please, check at least one item from ' + $(item).attr('id'));
        }
    });
}
$('.checkboxlist').filter(function(){
            return $(this).find(':checked').size()>0;
        }).size()