【问题标题】:Get rel separated by comma获取 rel 以逗号分隔
【发布时间】:2014-08-14 17:41:25
【问题描述】:

我有这个代码

<ul id="filters">
    <li>
        <input type="checkbox" value="96" id="filter-categorya" />
        <label for="filter-categorya">Category A</label>
    </li>

    <li>
        <input type="checkbox" value="97" id="filter-categoryb" />
        <label for="filter-categoryb">Category B</label>
    </li>
</ul>

<div rel="96,97">A</div>

和 jQuery

$("#filters :checkbox").click(function() {
       $("div").hide();
       $("#filters :checkbox:checked").join(',').each(function() {
           $('[rel='+$(this).val()+']').show();
       });
});

如果 li 的 rel 的值为 96 或 97 和 96,97,我想显示 div

我这样做了,但似乎不起作用

http://jsfiddle.net/6wYzw/634/

现在显示http://jsfiddle.net/6wYzw/638,但只显示A和96或A和97,需要在勾选A和B时显示96 97和A(即96,97 rel)

【问题讨论】:

    标签: jquery rel


    【解决方案1】:

    使用 jQuery .map 将所有项目转换为数组或对象。试试这个:

    $("#filters :checkbox").click(function() {
           $("div").hide();
        var output = $.map($("#filters :checkbox:checked"), function(n, i){
          return n.value;
    });
           $('[rel="'+output+'"]').show();
        $.each(output,function(i,v){
            $('[rel="'+v+'"]').show();        
        });
    });
    

    DEMO

    【讨论】:

    • 当值为 96,97 时有效。如果只勾选了 96 或 97,还有什么方法可以显示?
    • 类似 jsfiddle.net/6wYzw/637 的东西,但在选择 A 和 B 以显示 96 97 和 A 时也是如此
    • @ChrisChong:上面的小提琴工作正常。你还有什么要找的吗?
    • 类似jsfiddle.net/6wYzw/637,当只检查A时显示96。当B 97时,当同时显示A 96和97时
    • @ChrisChong:上面的共享小提琴工作正常。您可以使用该代码。
    【解决方案2】:
    $('[rel]').hide();// if initially div should be hidden otherwise remove
    $("#filters :checkbox").click(function() {
    
        if($("#filters :checkbox").eq(1).is(":checked")||$("#filters :checkbox").eq(0).is(":checked")){
            $('[rel]').show();
        }
        else
        {
            $('[rel]').hide();
        }
    
    });
    

    【讨论】:

    • 有点像jsfiddle.net/6wYzw/638,但只是显示A和96或A和97,需要显示当A和B被选中显示96 97和A(即96,97 rel)
    猜你喜欢
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多