此问题是jQuery Multiple Checkbox Page Filter的扩展。这完全是我的问题。
我有三个目标:
如前面在上述问题中所讨论的,目标A和C是通过以下方式完成的:
$('div.tags').delegate('input:checkbox', 'change', function()
{
var $lis = $('.results > li').hide();
//For each one checked
$('input:checked').each(function()
{
$lis.filter('.' + $(this).attr('rel')).show();
});
});
目标B完成了:
var selector = $('input:checked').map(function ()
{
return $(this).attr('rel');
}).get().join('.');
$lis.filter(selector).doWhatever();
但我不知道如何将这两个脚本整合在一起?
答案 0 :(得分:0)
试一试:http://jsfiddle.net/mattball/tkLK6/
$('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('');
$lis.hide().filter(selector).show();
}
else
{
$lis.show();
}
});