显示的选项:无在IE中隐藏

MJQ*_*MJQ 29 html select internet-explorer

我在选择中有多个选项.我已经对选项进行了排序并禁用了并使用jquery隐藏了重复的选项.该代码在chrome和firefox中运行良好,但在IE和Safari中,display:none的选项仍然显示出来.

这是代码的jsfiddle:

<select>
  <option value="5797">34</option>
  <option value="5809">37</option>
  ... 
  <option value="5653">71</option>
  <option disabled="" selected="selected" value="53">Eye</option>
  <option disabled="disabled" style="display: none;" value="5441">52</option>
  <option disabled="disabled" style="display: none;" value="5443">52</option>
  ...
  <option disabled="disabled" style="display: none;" value="5431">51</option>
</select>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/7vUdb/

fre*_*ler 33

IE不支持style="display:none;"<option>标签.

您唯一的选择是删除它们 - 作为创建HTML的一部分,或通过客户端脚本.


小智 18

如果有人仍然面临这个问题,这是我的解决方案,它可能会有所帮助:

$('select.some-list option[id=someId]').attr('disabled', 'disabled').hide();
Run Code Online (Sandbox Code Playgroud)

这隐藏了所有浏览器中的选项,如果无法隐藏,则禁用:).要恢复选项,请不要忘记启用它:

$('select.some-list option[id=someId]').removeAttr('disabled').show();
Run Code Online (Sandbox Code Playgroud)

  • @Gev,显示非jquery解决方案. (3认同)
  • 可以证明这在ie11中不起作用。 (2认同)