【发布时间】:2014-11-24 17:31:47
【问题描述】:
我有以下代码在 Firefox 中有效,但在 IE 中无效。 IE 报错:
The option tag doesn't support the CSS display attribute
我将如何解决这个问题,使其与跨浏览器兼容。我更喜欢 vanilla JavaScript,但 jQuery 可以作为最后的手段。
这是一个 JSFiddle:http://jsfiddle.net/djlerman/zP9uC/
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Search in Select Multi Drop Down List</title>
<script type='text/javascript'>
function searchSelect(searchForID, searchInID) {
var input = document.getElementById(searchForID).value.toLowerCase();
var output = document.getElementById(searchInID).options;
for (var i = 0; i < output.length; i++) {
if (output[i].text.toLowerCase().indexOf(input) < 0) {
output[i].style.display = "none";
output[i].setAttribute('style', 'display:none');
} else {
output[i].style.display = "";
output[i].setAttribute('style', 'display:');
}
}
}
</script>
</head>
<body>
Search:
<input type="text" size="25" ID="searchFor" onkeyup="searchSelect(this.id,'searchIn')">
<br />
<select size="3" multiple="multiple" name="searchIn" id="searchIn">
<option value="abc">Option abc</option>
<option value="123">Option 123</option>
<option value="abc123">Option abc123</option>
<option value="xyz">Option xyz</option>
<option value="789">Option 789</option>
<option value="xyz789">Option xyz789</option>
</select>
</body>
</html>
【问题讨论】:
标签: javascript html forms cross-browser incompatibility