单击div以取消选中以隐藏在结果过滤器上

时间:2014-11-17 18:03:06

标签: jquery forms list checkbox filter

我们的表单只有4个带有过滤结果的复选框(隐藏值 检查时)

检查新的小提琴
http://jsfiddle.net/ag263ms9/1/

如果您选中了计算机复选框,它将过滤并隐藏其结果 (结果2,结果4)为
-------
结果1 结果3
--------
然后,如果未选中,它将再次显示其结果为
-------

结果1 结果2
结果3
结果4


>>只需点击div #Computers取消选中并执行相同的取消选中效果
(隐藏其结果)

你能帮忙吗


Jquery

 $(document).ready(function () {


    $(':checkbox').click(function() {
        if($(':checkbox:checked').length > 3){
            alert('you can not check more than 3 checkboxes');
            $(this).prop('checked',false);
        }
    });
  })



///// Filter Results
$('div.tags').delegate('input[type=checkbox]', 'change', function()
{
    var $lis = $('.results > li'),
        $checked = $('input:checked');

    if ($checked.length)
    {
        var selector = $checked.map(function ()
        {
            return '.' + $(this).attr('rel');
        }).get().join('');
var $results =  $lis.hide().filter(selector) ;

        if($results.length > 0) {
            $('.no-results-found').remove();
            $results.show();
        } else {
            $('.results').append('<li class="no-results-found">No results found.</li>');
        }
    }
    else
    {
        $lis.show();
    }

//click to uncheck

$('#sso').on('click', function (ev) {
        $("#aa").prop("checked", false);
var $results =  $lis.show().filter(selector) ;
    });

});


HTML

    <div class="tags">
    <label><input id="ss" type="checkbox" rel="arts" /> Arts </label>
    <label><input id="aa" type="checkbox" rel="computers" /> Computers </label>
    <label><input type="checkbox" rel="health" /> Health </label>
    <label><input type="checkbox" rel="video-games" /> Video Games </label>
</div>
<p/><p/><hr/>
<div id="sso">Click to uncheck #Computers</div>
<p/><p/><hr/>


<ul class="results">
    <li class="arts computers">
        Result 1
    </li>
    <li class="video-games">
        Result 2
    </li>
    <li class="computers health video-games">
        Result 3
    </li>
    <li class="arts video-games">
        Result 4
    </li>
</ul>


0 个答案:

没有答案