I have the following code that works in Firefox, but doesn't work in IE. IE throws the error:
The option tag doesn't support the CSS display attribute
How would I solve this so that it is cross browser compatible. I would prefer vanilla JavaScript but jQuery could be used as a last resort.
Here is a 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>