我试图使用两个不同的标准过滤大学班级的列表:类组和分区(上部或下部)。我努力显示符合每个标准的类,但是我需要列表来显示仅满足两个标准的类,即一个类是网页设计类并且是高级部门。具有多个条件的JQuery列表过滤
HTML:
<div id="classes">
<div class="boxes">
Programs<br>
<span class="input">
<label><input type="checkbox" rel="program1"> Web</label>
<label><input type="checkbox" rel="program2"> Design</label>
<label><input type="checkbox" rel="program3"> Print</label>
<label><input type="checkbox" rel="program4"> Photography</label>
<br>Division<br>
<label><input type="checkbox" rel="division1"> Lower</label>
<label><input type="checkbox" rel="division2"> Upper</label>
</span>
</field>
<br>
<div id="button"><input type="button" value="search"> </div>
<div id="reset"><input type="button" value="Reset"></div>
</div>
<ul class="courses">
<li class="program1 division1">GIT 101: Pictures</li>
<li class="program1 division2">GIT 301: Web</li>
<li class="program2 division1">GIT 201: Film</li>
<li class="program2 division2">GIT 434: Sound</li>
<li class="program1 division1">GIT 120: Coding</li>
</ul>
</div>
JQuery的:
<script type="text/javascript">
$(document).ready(function(){
/*$('.courses > li').hide();*/
$('div.boxes').find('input:checkbox').on('click', function() {
$("#button").click(function() {
$('.courses > li').hide();
$('div.boxes').find('input:checked').each(function() {
$('.courses > li.' + $(this).attr('rel')).show();
});
});
});
});
$("#reset").click(function() {
$(document).find('input:checkbox').removeAttr('checked');
$('.courses > li').show();
});
</script>