我意识到Chrome似乎不允许我隐藏<option>在<select>.Firefox会.
我需要隐藏<option>符合搜索条件的s.在Chrome网络工具中,我可以看到display: none;我们的JavaScript 正确设置了它们,但是一旦<select>点击了菜单,就会显示它们.
如何<option>在符合菜单时显示符合我的搜索条件的s?谢谢!
这是我正在研究的例子:http://jsfiddle.net/4suwY/5/
HTML:
<select id="asd">
    <option>hello</option>
    <option>I'M THE CHOSEN ONE</option>
    <option>asd</option>
    <option>wer</option>
    <option>qwe</option>
</select>
JS:
var sel = document.getElementById("asd");
var optnz = sel.getElementsByTagName("option")[1];
sel.value = optnz.value;
optnz.style.display = "none";
正如你所看到的,它适用于chrome,但它在safari中不起作用.它应该做什么,当你点击下拉菜单时隐藏"我'CHOSEN ONE"选项.
这是我做的另一个测试:http://jsfiddle.net/4suwY/11/
相同的HTML,这是JS:
var sel = document.getElementById("asd");
var opt = document.createElement("option");
opt.innerHTML = "YAYA";
opt.value = "YAYA";
sel.appendChild(opt);
sel.value = "YAYA";
opt.style.display = "none";
无论如何,我需要做的是显示一个选项(当前),并在打开下拉菜单时隐藏给用户,这样他就无法选择它.
有什么建议/解决方法吗?我没有看到任何错误.Safari出了什么问题?我应该改变做法吗?Jquery似乎没有帮助.
EDITS:
我需要在dropdownmenu中隐藏选项,但同时我需要将此选项"value"显示为所选值!例如,"关闭"下拉列表将显示值"我是选择一个",但如果我点击并打开菜单,唯一可见的选项将是"你好,asd,wer,qwe"..