ページのフィルターとして機能するドロップダウンボックスがいくつかあります。いずれかを選択すると、ページが再読み込みされ、選択に基づいて投稿がフィルタリングされます。
私がやろうとしているのは、ページがリロードされるときに特定の選択を非表示にすることです。値が空白の文字列でない場合(たとえば、誰かが「オークランド」を選択した場合、リロード時にその選択入力をページから非表示にしますが、他の選択は表示されたままにする必要があります)。
これがHTMLです...
<ul>
<li>
<label style="display:none;">Location:</label>
<select onchange="this.form.submit();" name="locations" class="filter-dropdown">
<option value="">SELECT</option>
<option value="auckland" class="level-0">Auckland</option>
<option value="tauranga" class="level-0">Tauranga</option>
<option value="wellington" class="level-0">Wellington</option>
</select>
</li>
<li>
<label style="display:none;">Product or service:</label>
<select onchange="this.form.submit();" name="typeofproduct" class="filter-dropdown">
<option value="">SELECT</option>
<option value="clothing" class="level-0">Clothing</option>
<option value="food" class="level-0">Food</option>
<option value="shoes" class="level-0">Shoes</option>
<option value="travel" class="level-0">Travel</option>
</select>
</li>
そして、これがjQueryを使用する私の貧弱な試みです...
jQuery('.filter-dropdown').bind('change', function(event) {
var x = jQuery(".filter-dropdown option:selected").text();
if (x == "") {
jQuery(this).show();
}
else{
jQuery(this).hide();
}
});
私はこれをさまざまに試しましたが、最も近いのはすべてのドロップダウンを非表示にするページです(選択されたもののみになります。IDではなくクラスを使用する理由は、ドロップダウンがさらにある可能性があるためです。他のページ。