【问题标题】:Hide Options from Multiple Selection Box从多个选择框中隐藏选项
【发布时间】:2012-08-02 10:50:50
【问题描述】:

我需要使用 Javascript 从多个选择框中隐藏某些选项。我不能得到 jQuery,也不允许。

我还有一个下拉框,我正在调用一个 js 函数,该函数将在值更改时调用。 js函数将控制另一个多选选项框的选项,我需要根据下拉框的值隐藏(而不是删除)选项。

有什么简单的js函数吗?

http://jsfiddle.net/zz3dg/

编辑: 试过了

fastInternet.options[i].style.display = 'none';
fastInternet.options[i].style.visibility = 'hidden';

没用:(

【问题讨论】:

  • 看看这篇文章是否有帮助:stackoverflow.com/questions/2731668/…
  • 没有任何效果。任何人都可以在这里写完整的Js。我正在为每一个出现不起作用的解决方案的新线程而感到沮丧。

标签: javascript jquery hide multipleselection


【解决方案1】:

已编辑:

新建议:

怎么办呢disable

fastInternet.options[i].setAttribute("disabled", "disabled")

然后使用以下 CSS 将其隐藏:

select option[disabled] {
    display: none; /* worked in firefox*/
    visibility: hidden; /* worked in chrome*/
}

SEE DEMO

这可能会有所帮助!

旧建议:

尝试使用

 fastInternet.remove(options[i])

【讨论】:

  • 删除将从下拉列表中删除选项,这不应该发生。它应该在某些条件下隐藏,在其他条件下应该可见
  • @Nitin Gurram:怎么样才能做到disable,更新了我的答案。
  • 不,只是禁用 IE8 中的选项
  • 没有任何效果。任何人都可以在这里写完整的Js。我为每一个出现不起作用的解决方案的新线程而感到沮丧
【解决方案2】:

我尝试使用您的 jsFiddle 链接,但其中的一些内容阻止了该方法正常工作。

我做了一些修改,效果很好:

html:

<select id="option_two" multiple>        
  <option value="VOIP">VOIP</option>         
  <option value="BDS">BDS</option>          
  <option value="DMW">DMW</option>          
  <option value="IDTV">IDTV</option>          
  <option value="P3TR">P3TR</option> 
</select> 

Javascript:

 var fastInternet = document.getElementById('option_two');

 for ( var i = 0; i < fastInternet.options.length; i++) {
     var value = fastInternet.options[i].value;

     if(value == 'IDTV' || value == 'P3TR'){
        fastInternet.options[i].style.visibility = 'hidden';
     }
 }​

在 JsFiddle 中,确保框架设置为 onLoad 和 No-Library(pure JS) 在铬它工作。但是我在 IE 中遇到了一些问题:/

【讨论】:

  • 这就是问题所在。 IE 是我的首选,我需要让它适用于 IE。
  • @Nitin 我最接近解决您的问题的是:jsfiddle.net/BMs8D/4
【解决方案3】:

添加display:none 对我有用。但我是通过 css 做到的。

已经建立了一个例子。检查它here

没有安装 chrome 来测试。但我猜visibility:hidden 应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2012-07-30
    • 2021-05-19
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多