タイトルは少し紛らわしいかもしれません。基本的に、ドロップダウンフォームから選択した値を取得し、クラスにドロップダウンフォームの値が含まれていない場合はliを非表示にするスクリプトを作成しようとしています。意味がありますか?各liには複数のクラスがあります。
これが私がこれまでに得たものです(それが粗雑な場合は申し訳ありません):
形:
<form action="" name="filter" id="filter" method="post">
<select name="bedrooms">
<option value="">- Select Bedrooms -</option>
<option value="bed-1">1</option>
<option value="bed-2">2</option>
<option value="bed-3">3</option>
<option value="bed-4">4</option>
<option value="bed-5">5</option>
</select>
<select name="bathrooms">
<option value="">- Select Bathrooms -</option>
<option value="bath-1">1</option>
<option value="bath-2">2</option>
<option value="bath-3">3</option>
<option value="bath-4">4</option>
<option value="bath-5">5</option>
</select>
<select name="frontage">
<option value="">- Select Frontage Size -</option>
<option value="frontage-100">100</option>
<option value="frontage-200">200</option>
<option value="frontage-300">300</option>
<option value="frontage-400">400</option>
<option value="frontage-500">500</option>
</select>
<input type="submit" name="filter-submit" id="filter-submit" value="Go" />
</form>
JQuery:
$("#filter-submit").click(function() {
var foo = [];
$("#filter :selected").each(function(i, value){
foo[i] = $(value).val();
});
if (foo) {
$.each(foo, function(index, value){
if (value) {
//hide other objects based on "value"
//$("#portfolio li").hasClass();
};
});
};
return false;
});
さて、私が立ち往生しているのは、「value」として出力されるクラスを持たないすべての「#portfolioli」を非表示にする方法です。hasClassを使用できると思いましたが、それを元に戻す方法がわかりません。それが理にかなっている場合はどうでしょうか。どんな助けもいただければ幸いです:)