【发布时间】:2018-03-19 22:24:50
【问题描述】:
我不是 jquery 专家,我对 filter() 方法有疑问,有什么帮助吗?
我有一个容器 div,其中包含以下 2 个其他 div,但容器 div 的数量是动态的。
<div class="container">
<div class="city" name="64">London</div>
<div class="region" name"7">some region</div>
</div>
<div class="container">
<div class="city" name="65">Paris</div>
<div class="region" name"8">other region</div>
</div>
.
.
.
.
<div class="container">
<div class="city" name="165">some city</div>
<div class="region" name"58">another region</div>
</div>
我想要做的是使用 jquery 根据内部 div 的名称属性过滤这些 div.container。 我有两个选择框,它们具有与每个内部 div 的名称属性相同的数据。 当在第一个选择框选择一个值(与内部 div.city 的名称属性相同)时,我想隐藏除内部 div.city 的名称属性之外的所有父(.container)div 与我在选择框中选择的相同。
这部分我已经做了:)
我不能是关于第二个选择框。如果我尝试在第二个选择框中做同样的事情,那么只有一个过滤器起作用。我如何结合以下代码?我的 jquery 如下: (#liste_tur_filter --> 我的第一个选择框) (#liste_il_sec_filter --> 我的第二个选择框)
<script>
$(document).on('change','#liste_tur_filter', function(){
filter_1_value = $('#liste_tur_filter').val();
$('.urun_container').hide();
$('.liste_tur')
.filter('[name="'+ filter_1_value +'"]')
.parent().show(); // show the filtered elements
});
</script><!--liste türü filtresi-->
<script>
$(document).on('change','#liste_il_sec_filter', function(){
filter_2_value = $('#liste_il_sec_filter').val();
$('.urun_container').hide();
$('.sehir')
.filter('[name="'+ filter_2_value +'"]')
.parent().show(); // show the filtered elements
});
</script>
我该如何组合这些? (如果我不能清楚地问我的问题我很抱歉)
提前谢谢...
【问题讨论】:
-
从您逻辑中的选择器到您提供的标记,我很难看出两者之间的关系。