可能重复:
Applied style=“display:none” in <option> not working in IE but working Mozilla
我有一个JS应该在列表中搜索并仅显示结果并隐藏其他内容,并且出于某种原因我的代码仅适用于Mozilla,任何想法如何使其在Chrome和IE中运行?
这是代码:
<script type="text/javascript">
function searchit1() {
arrayAdmins = document.getElementById
var keyword = document.getElementById('searchbar1').value;
var xx = document.getElementById('allUsers');
var xy = document.getElementById('selectedUsers');
var selectedAdmins = [];
i = 0;
for (var i = 0; i < xx.length; i++) {
if (xx.getElementsByTagName('option')[i].innerHTML.toLowerCase().indexOf(keyword.toLowerCase()) == 0) {
xx.getElementsByTagName('option')[i].style.display = 'block';
}
else {
xx.getElementsByTagName('option')[i].style.display = 'none';
}
}
var j = xy.length;
for (var i = 0; i < xy.length; i++) {
if (xy.getElementsByTagName('option')[i].innerHTML.toLowerCase().indexOf(keyword.toLowerCase()) == 0) {
xy.getElementsByTagName('option')[i].style.display = 'block';
}
else {
xy.getElementsByTagName('option')[i].style.display = 'none';
}
}
}
</script>
谢谢
答案 0 :(得分:2)
表单控件的样式在浏览器和操作系统之间并不一致。 Firefox允许您通过操纵<option>
属性来显示/隐藏display
元素,但Chrome不会。我不确定IE。
最安全的方法是在某处(一组值或对象)获得完整的选项列表,并根据需要在<select>
中添加/删除元素。