我有一个html元素div列表,我想通过隐藏未选定的元素并仅显示使用JQuery选定的元素来对它们进行双重过滤。
这些都是像单选按钮和我要像所有-1,我可以将它们混合,1-1,2-所有等。
filter1: ALL | 1 | 2
filter2: ALL | 1 | 2
jquery根据它们的属性对元素列表进行双重过滤
对于examle这里是一个HTML代码清单:
<div class="list" filter1="1" filter2="1"> 1-1 </div>
<div class="list" filter1="2" filter2="1"> 2-1 </div>
<div class="list" filter1="1" filter2="1"> 1-1 </div>
<div class="list" filter1="1" filter2="2"> 1-2 </div>
<div class="list" filter1="2" filter2="2"> 2-2 </div>
<div class="list" filter1="1" filter2="1"> 1-1 </div>
<div class="list" filter1="2" filter2="1"> 2-1 </div>
<div class="list" filter1="2" filter2="1"> 2-1 </div>
jQuery中我试过,但仍然没有工作good.I不得不使用setTimeout的,因为它不保存新的过滤变量
var filter1,filter2;
$('.filter input[radio]').click(function(){ //filter1,filter2 has both in common classname 'filter'
setTimeout(function(){
toFilter1=$('.filter1 input[radio]:checked').val();
toFilter2=$('.filter2 input[radio]:checked').val();
$('.list:not([filter1="'+toFilter1+'"])').hide();
$('.list[filter2="'+toFilter2+'"]').show();
},100);
});
预先感谢