Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择值(并重新加载页面)时隐藏选择_Javascript_Jquery_Drop Down Menu_Show Hide - Fatal编程技术网

Javascript 选择值(并重新加载页面)时隐藏选择

Javascript 选择值(并重新加载页面)时隐藏选择,javascript,jquery,drop-down-menu,show-hide,Javascript,Jquery,Drop Down Menu,Show Hide,我有一些下拉框在页面上充当过滤器。选择其中一个后,页面将根据所选内容重新加载和过滤帖子 我试图做的是,在页面重新加载时隐藏一个特定的选择,如果该值不是空字符串,例如,如果有人选择“奥克兰”,我希望该选择输入在页面重新加载时消失,但另一个选择应该保持可见 这是HTML <ul> <li> <label style="display:none;">Location:</label> <select onchange="this.f

我有一些下拉框在页面上充当过滤器。选择其中一个后,页面将根据所选内容重新加载和过滤帖子

我试图做的是,在页面重新加载时隐藏一个特定的选择,如果该值不是空字符串,例如,如果有人选择“奥克兰”,我希望该选择输入在页面重新加载时消失,但另一个选择应该保持可见

这是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>

我尝试过各种各样的方法,但最接近的是隐藏所有下拉列表的页面,应该只针对已选择的下拉列表。我之所以使用类而不是ID,是因为其他页面上可能有更多的下拉列表。

隐藏用户的选择不是一个好功能,这样他们不仅看不到自己选择的内容,而且也无法更改。无论如何,以下内容将完成此工作:

var element = docment.formName.locations;
if (element.value != '') {
  element.style.display = 'none';
}
将表单的实际名称或ID替换为formName

请注意,当页面加载时,select在默认情况下是可见的,因此只需要根据其值将其隐藏。另外请注意,在大多数浏览器中,默认情况下,该值将是第一个选项的值,除非将其他一些选项设置为默认的选定选项


最后,如果选项没有值属性,IE 8和更低版本将不会与上面的选项一起运行,因此请确保它们有一个与文本相同的值。

这就是答案!是的,我意识到这不是最好的功能,在这一点上,它更像是一种变通方法。注意:我会投票给你,但我是新来的堆栈溢出,目前没有任何声誉。
var element = docment.formName.locations;
if (element.value != '') {
  element.style.display = 'none';
}