У меня есть поле выбора, которое должно быть заполнено только при нажатии. Этот запрос занимает много времени, поэтому я отключаю его от стандартных данных, показанных на странице.
Я реализовал функцию loadMyData(element, id)
, которая выполняет запрос ajax и возвращает данные в виде JSON. Затем он заполняет поле выбора.
событие привязано к элементу так:
<select onclick="loadMyData(this, 1)">
</select>
и поле выбора заполняется следующим образом:
$.each(data, function(index, optionData) {
select.options[element.options.length]
= new Option(optionData.Text, optionData.Value);
});
В браузерах на основе Gecko, но в браузерах Webkit (safari и chrome), когда я нажимаю на поле выбора, перед запросом ajax отображается пустое раскрывающееся окно, а после ответа - раскрывающееся окно: не обновляется. Нужно щелкнуть за пределами поля выбора и щелкнуть его снова, чтобы увидеть обновленные «параметры».
Есть ли способ заставить его обновить содержимое? или просто автоматически выбрать первый и скрыть раскрывающийся список?
** попробовал onfocus и нашел те же результаты. onmouseover работает, но "не годится". onchange не жизнеспособен из-за того, что поле выбора пусто в своем начальном состоянии. *