在Html中我使用選擇選項。如果您輸入到輸入字段中,則選項將隱藏或顯示,如果選項文本以輸入文本開始。IE 9忽略顯示沒有選擇的選項
$(document).on('keyup', '#modal-newSeriennummer', function() {
var datalist = $('#serialnumbers')[0].options;
for (var i = 0; i < datalist.length; i++) {
if (!datalist[i].text.startsWith($(this).val())) {
$(datalist[i]).hide();
} else {
$(datalist[i]).show();
}
}
var onlyVisible = $('#serialnumbers').find('option:visible');
if (onlyVisible.length == 1) {
var key = event.keyCode || event.charCode;
if (key == 8 || key == 46)
return;
$('#serialnumbers').val(onlyVisible.val());
$(this).val(onlyVisible.html());
GetSpecificHgData(onlyVisible.val());
} else {
$('#serialnumbers').val('');
}
});
HTML:
<input id="modal-newSeriennummer" type="Text" name="newSeriennummern">
<select id="serialnumbers" size="6">
<option value="3bb55850-1884-4f43-85a2-04871ab0a2ff">79523</option>
<option value="dc689af1-abff-4f97-9633-0814d4bbf0ff">19038</option>
<option value="b72c213a-2a81-41d8-8b30-0b14015fb699">29028</option>
<option value="8276cbe9-1394-4448-9b59-0e2e9e9231e4">79193</option>
<option value="0188762d-25ec-41c1-83e2-171cba062050">39259</option>
<option value="e369b23f-3827-4d95-9d90-1b127b0beb8f">22898</option>
</select>
它工作正常,但不是IE 9的選項標籤有風格顯示沒有 但要隱藏。
可以請你分享整個HTML代碼。 – pedram
隱藏'option'可能無法在所有瀏覽器中使用。你最好打賭就是禁用它們。 – lshettyl
你無法在所有瀏覽器中可靠地隱藏'option'元素。您應該將它們設置爲「禁用」(雖然它們仍然可見)或使用「選擇」樣式庫,這可以讓您動態地隱藏/顯示選項。 –