Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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 检查是否有多个复选框id';s匹配多跨文本_Jquery_Html_Checkbox_Label - Fatal编程技术网

Jquery 检查是否有多个复选框id';s匹配多跨文本

Jquery 检查是否有多个复选框id';s匹配多跨文本,jquery,html,checkbox,label,Jquery,Html,Checkbox,Label,我使用一组带有标签的复选框来控制在ul中可以看到哪些li,并尝试针对每个li的span类来选择它们。但是,它不是迭代每个复选框,而是在第一个选中的元素上应用代码 我的代码:(假设这些输入周围有一个表单标签) 一, 二, 三, 四, $('form')。提交(函数(){ event.preventDefault(); $('.list未设置样式')。每个(函数(){ $(this).find('li').each(function(){ if($('input[type=“checkbox”

我使用一组带有标签的复选框来控制在ul中可以看到哪些li,并尝试针对每个li的span类来选择它们。但是,它不是迭代每个复选框,而是在第一个选中的元素上应用代码

我的代码:(假设这些输入周围有一个表单标签)


  • 一,
  • 二,
  • 三,
  • 四,
$('form')。提交(函数(){ event.preventDefault(); $('.list未设置样式')。每个(函数(){ $(this).find('li').each(function(){ if($('input[type=“checkbox”]:checked').attr('id')!=$(this.find('.platform').text()){ $(此).hide(200); } }); }); });

这是一个例子。我想要的是,如果我选择了多个复选框,那么在点击submit之后,只会显示具有相同跨度文本的复选框

它只对第一个
输入
元素起作用的原因是因为您只比较了第一个
输入
元素的
id

$('input[type="checkbox"]:checked').attr('id') // This will only select the first one
您应该根据当前
.platform
元素文本的
id
属性选择复选框

因此,情况可能是:

!$('input[type="checkbox"][id="' + $(this).find('.platform').text() + '"]:checked').length
或更短:

!$('[id="' + $('.platform', this).text() + '"]:checkbox:checked').length
第一部分是选择与当前
.platform
元素文本具有相同
id
属性的元素。
:复选框:checked
选项会将选择限制为仅选中复选框,最后,
.length
用于检查是否存在任何匹配项,
否定结果

您也可以将代码段缩短一点:


这工作做得很好!虽然我不明白为什么。你能解释一下代码在做什么吗?(即$('input[type=“checkbox”][id=“'+$(this).find('.platform').text()+''']:checked')之前的“!”,并在末尾添加“.length()”。@user3183717我添加了一点解释:)
!$('[id="' + $('.platform', this).text() + '"]:checkbox:checked').length
$('form').submit(function(){
    event.preventDefault();
    $('.list-unstyled').each(function(){
        $(this).find('li').each(function(){
            if (!$('input[type="checkbox"][id="' + $(this).find('.platform').text() + '"]:checked').length){
                $(this).hide(200);
            } else {
                $(this).show(200);
            }
        });
    });
 });
$('form').submit(function () {
    event.preventDefault();
    $('.list-unstyled li').each(function () {
        $(this).toggle(!$('[id="' + $('.platform', this).text() + '"]:checkbox:checked').length);
    });
});