我有三類控制,每個與多個選項多項選擇濾波器:jquery的 - 與多個類別
<ul class="series-selector-items">
<li id="filter-type-A">A</li>
<li id="filter-type-B">B</li>
<li id="filter-type-C">C</li>
</ul>
<ul class="series-selector-items">
<li id="filter-type-E">E</li>
<li id="filter-type-F">F</li>
<li id="filter-type-G">G</li>
</ul>
<ul class="series-selector-items">
<li id="filter-type-H">H</li>
<li id="filter-type-I">I</li>
<li id="filter-type-J">J</li>
<li id="filter-type-K">K</li>
</ul>
然後,我有與具有屬性的組合,從上述控制項目的列表:
<ul>
<li class="A E H">Item AEH</li>
<li class="A F I">Item AFI</li>
<li class="A G J">Item AGJ</li>
<li class="A G H">Item AGH</li>
<li class="B E H">Item BEH</li>
<li class="B F H">Item BFH</li>
<li class="B F H">Item BFH</li>
<li class="C E I">Item CEI</li>
<li class="C G K">Item CEI</li>
etc etc...
</ul>
我試圖找到一種方法來根據所選控件選項的組合來篩選結果。我需要能夠選擇控制選項的任意組合(例如A E H)並顯示所有具有正確屬性的項目(項目AEH)。
應該在每個類別(A B E K)中選擇多個選項,並且類別應該一起工作以顯示具有正確元素組合的選項。如果從同一類別中選擇多個選項,它們的結果仍應顯示出來。 我已經把控制列表作爲li的,但他們也可以是複選框。
用jQuery做這件事的最好方法是什麼?
編輯:這是一個方法我試過到目前爲止,增加選擇的選項數組:
var seriesSelected = [];
$('ul.series-selector-items').click(function(){
//Select the series clicked and give it the "selected" class
$(this).toggleClass("selected");
//Once selected, add the series to the seriesSelected array
if ($(this).hasClass('selected')) {
seriesSelected.push($(this).attr('id'));
}
//If de-selecting (by toggling off the "selected class"), then remove from the seriesSelected array
else {
seriesToRemove = $(this).attr('id');
seriesSelected = $.grep(seriesSelected, function(value) {
return seriesToRemove != value;
});
}
});
不知道從哪裏裏去......
你有什麼企圖?你遇到特定問題嗎? – nbrooks 2012-08-01 01:37:11
StackOverflow 101: 刺傷它併發布一些代碼。然後我們會爲你解決它。 :) – 2012-08-01 01:44:28
是的,請告訴我們你到目前爲止做了什麼! – 2012-08-01 01:44:51