【发布时间】:2012-06-27 05:51:18
【问题描述】:
我有一些下拉框充当页面上的过滤器。 When either one is selected the page reloads and filters the posts based on the selection.
我想要做的是在页面重新加载时隐藏特定选择,如果该值不是空白字符串(例如,如果有人选择“奥克兰”,我希望该选择输入在它出现时从页面中消失重新加载,但其他选择应保持可见)。
这里是 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 的原因是因为可能有其他页面上的更多下拉菜单。
【问题讨论】:
标签: javascript jquery drop-down-menu show-hide