0
我想通過select元素過濾div,但只有例如當組AND字段有值時,不是OR。此時它會過濾包含組或字段選項中值的everthing。我怎樣才能使這個AND操作?過濾div有多個選擇,但只有在AND操作
// select filter
var item = '.item';
$('#tagselect, #groupselect').change(function() {
var result = $(this).map(function() {
return '.' + this.value;
}).get().join();
$(item).hide().has(result).show();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="form-control" id="tagselect">
<option value="">group...</option>
<option value="group11">group 11</option>
<option value="group12">group 12</option>
<option value="group13">group 13</option>
</select>
<select class="form-control" id="tagselect">
<option value="">Field...</option>
<option value="field1">field1</option>
<option value="field2">field2</option>
<option value="field3">field3</option>
</select>
<div class="item" style="display: block;">
<div class="item-inner">
<p class="field1"></p>
<p class="field2">field 2</p>
<p class="text">Lorem ipsum dolor sit amet</p>
<p class="group13">group 13</p>
</div>
</div>
<div class="item" style="display: block;">
<div class="item-inner">
<p class="field1">field 1</p>
<p class="text">Lorem ipsum dolor sit amet</p>
<p class="group12">group 12</p>
<p class="group11">group 11</p>
</div>
</div>
<div class="item" style="display: block;">
<div class="item-inner">
<p class="field1">field 1</p>
<p class="field3">field 3</p>
<p class="text">Lorem ipsum dolor sit amet</p>
<p class="group11">group 11</p>
</div>
</div>
爲什麼你使用'.MAP()'?在事件處理程序中'$(this)'中只有一個元素。 – Barmar
你有'id =「tagselect」'兩個元素,這是行不通的。他們中的一個應該是'id =「groupselect」'? – Barmar