我们的表单只有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>