Реакция на выбор значения из datalist
Есть текстовый input со списком datalist
<input name="filt" list="datalistyo" id="filt" /> <datalist id="datalistyo"> <option value="Арбуз" /> <option value="Пляж" /> <option value="Турник" /> </datalist> Когда в input начинаешь вводить первые символы (например "у"), то появляется выпадающий список со значениями, в которых есть "у". Когда выбираешь какое-то значение из списка, то им заполняется input. Вопрос: как сделать так, что бы после выбора значения из выпадающего списка, срабатывало событие (имитация нажатия клавиши Enter)? |
При выборе чем, мышью? Зачем нужно имитировать Enter?
|
Цитата:
Цитата:
Но если выбрать значение из datalist, то ничего не произойдет, т.к. события onkeyup не было. Вот я и хочу как-то заставить таблицу фильтроваться после выбора из datalist. Подскажите вариантик? |
Событие onchange.
|
Цитата:
|
IndigoHollow,
не, onkeyup нужно оставить и дополнительно навесить onchange. |
Выбор значения из Datalist
Доброго времени суток!
При выполнении задачи - Обход элементов по Enter - сложилась следующая ситуация: Работа в форме проводиться с клавиатуры (мышь используется редко, хотелось работу мышью исключить) В Мозиле при вводе в input datalist отображается, дает стрелками выбрать значение, но при нажатии на Enter переходит к следующему input, при этом выбор из datalist не происходит. Как решить эту задачу? Причем в Хроме при нажатии Enter происходит выбор из datalist без перехода в следуюший input. |
Если выбор не происходит, не делай preventDefault(). Чтобы форма не остылалась по ентеру сама - поменяй кнопку отправки [type=submit] на [type=button]. Если выбор все равно не происходит - возможно потому что фокус уходит до вставки браузером значения. Тогда передавай фокус с задержкой (нулевой, через setTimeout)
|
Выбор значения из Datalist ч-з setTimeout
Спасибо за предложенный вариант.
Попробовал добавить следующий код: timeout = setTimeout($next.focus(), 500); clearTimeout(timeout); Ситуация в Мозиле не изменилась. Переход на след. input происходит, а выбора нет. |
неправильно потому что делаешь. Иди учи основы.
|
Часовой пояс GMT +3, время: 17:52. |