编辑 -
感谢您对这些人的帮助,接受您的建议一个问题满足我的需求。
这是我要使用的代码。
http://jsfiddle.net/magicalex/FmQvc/
HTML
<input data-bedrooms="1" type="checkbox">1 bedroom<br>
<input data-bedrooms="2" type="checkbox">2 bedrooms<br>
<input data-bedrooms="3" type="checkbox">3 bedrooms<br><br>
<ul>
<li data-bedrooms="1">1 bedroom apartment</li>
<li data-bedrooms="1">1 bedroom apartment</li>
<li data-bedrooms="3">3 bedroom apartment</li>
<li data-bedrooms="2">2 bedroom apartment</li>
<li data-bedrooms="2">2 bedroom apartment</li>
<li data-bedrooms="2">2 bedroom apartment</li>
<li data-bedrooms="3">3 bedroom apartment</li>
<li data-bedrooms="2">2 bedroom apartment</li>
<li data-bedrooms="1">1 bedroom apartment</li>
<li data-bedrooms="2">2 bedroom apartment</li>
</ul>
Javascript
$('input').change(function() {
var allchecked=0;
$('input').each(function() {
var checked;
if (checked = $(this).attr('checked')) {allchecked++};
var numberofrooms = $('li[data-bedrooms='+$(this).data('bedrooms')+']');
checked ? numberofrooms.show('slow'): numberofrooms.hide('slow');
});
if(allchecked==0){$('li').show('slow');}
});
当您启动它时,它会立即将所有结果显示到复选框中,然后在用户勾选相关结果的复选框时过滤它们,然后当您取消勾选每个框时,结果都会再次显示。谁能告诉我如何扭转这一点,在启动时隐藏所有结果,并在没有勾选复选框时再次隐藏?
谢谢,