Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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/2/jquery/86.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 带有标记的可排序复选框_Javascript_Jquery_Html_Jquery Ui_Checkbox - Fatal编程技术网

Javascript 带有标记的可排序复选框

Javascript 带有标记的可排序复选框,javascript,jquery,html,jquery-ui,checkbox,Javascript,Jquery,Html,Jquery Ui,Checkbox,您好,这有点不对劲,但是否可以有3个复选框,并在选中一个复选框时隐藏我的a标记,但如果选中复选框2,它也会隐藏该复选框,那么当您取消选中复选框1时,如果选中另一个复选框,它仍将保持隐藏状态,如可排序选项 <input type="checkbox" class="example" id="check1"><label>check1</label> <input type="checkbox" class="example" id="check2">

您好,这有点不对劲,但是否可以有3个复选框,并在选中一个复选框时隐藏我的a标记,但如果选中复选框2,它也会隐藏该复选框,那么当您取消选中复选框1时,如果选中另一个复选框,它仍将保持隐藏状态,如可排序选项

<input type="checkbox" class="example" id="check1"><label>check1</label>
<input type="checkbox" class="example" id="check2"><label>check2</label>
<input type="checkbox" class="example" id="check3"><label>check3</label>

<a class="check1 check2" href="">check1</a>
<a class="check2" href="">check2</a>
<a class="check3" href="">check3</a>

<a class="check1" href="">check1</a>
<a class="check2" href="">check2</a>
<a class="check3 check2" href="">check3</a>

<a class="check1 check2" href="">check1</a>
<a class="check2" href="">check2</a>
<a class="check3" href="">check3</a>

试试下面。这是你需要的吗。隐藏在相应的复选框编号上

$(函数(){
$('.example').change(函数(){
$(“[class*=check]”。删除类(“隐藏”);
$(“.example:checked”).each(函数(){
$(“+this.id).addClass(“隐藏”);
});
});
});
.hide{display:none}

支票1
支票2
支票3




当复选框更改状态时,请执行以下操作:

  • 获取复选框的所有ID
  • 将这些ID放入jQuery类选择器中
  • 隐藏所有
    a
    标记,然后显示与任何存储类匹配的标记
  • $(函数(){
    $('a').hide();
    });
    $('input[type=“checkbox”]”)。在('change',function()上{
    var checkedClasses=$('input[type=“checkbox”]:checked').toArray().map(函数(e){
    返回“.”+e.id;
    });
    var选择器=checkedClasses.join(',');
    $('a').hide().filter(selector.show();
    });
    
    
    支票1
    支票2
    支票3
    
    我想这就是你想要的:

    在复选框上单击“显示所有a”,然后获取复选框并隐藏其类中包含选中元素id的所有a

    $('input:checkbox').change(function() { 
        $("a").removeClass("hide"); 
    
        $('input:checkbox:checked').each(function(){ 
           var theID = this.id;
           $("a[class*=" + theID + "]").addClass("hide");
        });
    });                                       
    

    你能说得更具体些吗?这听起来当然有可能,但还不清楚你想要遵循的逻辑。嗨,Dave,呃,这里是这样的…如果我选中复选框1和复选框2,它会将隐藏clsss添加到具有相同类的a标记中。但是,如果我取消选中复选框1,但保留复选框2选中所有复选框2保持隐藏,但所有带有复选框1的内容现在都可见,这样更好吗?是的,很接近,当您选中所有三个复选框1,然后取消选中复选框1时,该标记仍应显示正确,因为它有2个类它确实有两个类,但我不知道为什么它会显示出来。它的编写方式是,当您取消选中
    check1
    时,它会隐藏带有
    class=“check1”
    的任何内容。我遗漏了什么?是的,这是正确的。如果检查2被检查,我需要它仍然显示出来。我想我现在知道了。看看最新的答案
    $('input:checkbox').change(function() { 
        $("a").removeClass("hide"); 
    
        $('input:checkbox:checked').each(function(){ 
           var theID = this.id;
           $("a[class*=" + theID + "]").addClass("hide");
        });
    });