【发布时间】:2014-05-02 14:48:31
【问题描述】:
我根据多个下拉菜单选择隐藏和显示图片。我试图让 2 个和可能的更多下拉菜单一起工作以优化搜索。
如果我在第一个下拉列表中选择一个项目,我想应用第二个过滤器,依此类推,并带有任何其他下拉列表。
我需要一些关于 jquery 的帮助。我目前的问题是第二个过滤器永远不会启动。它被覆盖并重置过滤器。如果可能的话,我想添加第三个过滤器来进一步缩小搜索范围,以准确找到我正在寻找的内容。这是一些示例代码..
$('select').change(function(){
var current = $(this).attr('value');
if(current == 'all'){
$('#FilterContainer').children('div.all').show();
}
else {
$('#FilterContainer').children('div:not(.' + current + ')').hide();
$('#FilterContainer').children('div.' + current).show();
}
return false;
})
HTML
<p>Filter: </p>
<select class="filterby">
<option value="all"><h5>Show All</h5></option>
<option value="1"><h5>One</h5></option>
<option value="2"><h5>Two</h5></option>
<option value="3"><h5>Three</h5></option>
</select>
<p>Location: </p>
<select class="filterby">
<option value="all"><h5>All Locations</h5></option>
<option value="nj"><h5>NJ</h5></option>
<option value="ny"><h5>NY</h5></option>
<option value="pa"><h5>PA</h5></option>
</select>
<div id="FilterContainer">
<div class="all 1 nj">Test One NJ</div>
<div class="all 1 ny">Test One NY</div>
<div class="all 1 pa">Test One PA</div>
<div class="all 2 nj">Test Two NJ</div>
<div class="all 2 ny">Test Two NY</div>
<div class="all 2 pa">Test Two PA</div>
<div class="all 3 nj">Test Three NJ</div>
<div class="all 3 ny">Test Three NY</div>
<div class="all 3 pa">Test Three PA</div>
<div class="all 1 nj">Test One NJ</div>
<div class="all 1 pa">Test One PA</div>
<div class="all 1 pa">Test One PA</div>
<div class="all 2 nj">Test Two NJ</div>
<div class="all 2 ny">Test Two NY</div>
<div class="all 2 ny">Test Two NY</div>
【问题讨论】:
-
请查看我对这个问题的回答:stackoverflow.com/questions/1271503/… 你只需要将这个概念扩展到第三个选项。
-
感谢您的帮助,但这不是我想要的。我正在尝试使用多个动态过滤器,可以按任何顺序使用来优化搜索。
标签: javascript jquery html drop-down-menu