这是我正在处理的示例: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 中无效。它应该做的是在单击下拉菜单时隐藏“I'M THE 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 似乎没有帮助。
编辑:
我需要隐藏下拉菜单中的选项,但同时我需要将此选项“值”显示为选定值!例如,“关闭”下拉菜单将显示值“我是选择的人”,但如果我单击并打开菜单,唯一可见的选项将是“hello, asd, wer, qwe”..