На моей страничке есть select с большим списком значений(option). Также есть текстовое поле быстрого поиска(filter), т.е по вводу текста, select соответсвующим образом перегружается и в нем остаются только option-ы, удовлетворяющие введенному тексту, все оставшиеся option-ы выделяются. Значения селекта хранятся в массиве values[] размером size, для того, чтобы по мере стирания filter-а в селект обратно добавлялись option-ы.
var select = document.getElementById("select");
var filter = document.getElementById("filter");
select.empty();
for (var i = 0; i < size; i++)
{
var value = values[i].toLowerCase();
if ((value.indexOf(filter)) + 1)
{
var opt = document.createElement("option");
opt.innerHTML = value;
opt.value = value;
opt.id = i;
select.appendChild(opt);
}
}
$("#project option").attr("selected", "true");
Проблема в том, что если выделить элемент в конце списка при пустом фильтре, а после этого ввести в фильтр значение, то селект отсеется правильно, но покажет будто бы в нем нет значений, значения покажутся, только если переместить скролер вверх. Поведение похоже на такое, что берется фокус на выделенный элемент, производятся операции, но после этогго селект не обновляется