var input = $('input'),
select = $('select');
input.keyup(function() {
var inputVal = $(this).val(),
inputLength = inputVal.length;
select.find('option').each(function() {
if ($(this).val().substr(0, inputLength) != inputVal) {
$(this).attr({ disabled: 'disabled' });
} else {
$(this).removeAttr('disabled');
}
select.focus();
input.focus();
});
});
jsFiddle .
Фокус на select
, а затем обратно - заставить браузер перерисовывать изменения, которых он не делал в моем (Chrome 9).
Если вы хотите, чтобы они действительно были удалены, вам нужно будет удалить их и добавить их по мере необходимости, потому что display: none
у меня не сработало.