Какое событие подобрать типа change для input
Описание задачи.
Имеется текстовое поле. Плагин autocomplete ui. В autocomplete при загрузке DOM аяксом подгружаются данные (названия городов). Теперь при наборе названия города появляется подсказка внизу текстового поля. И по щелчку по нему, опять идет аякс-запрос на сервер, котоырй по названию города тянет цену доставки для него. Теперь проблема в чем. Аякс подгрузка городов проходит нормально. Далее на подгрузку цен поставил change поля: $("#countprice").change(function(){ $.ajax({ ... }); }); Но когад мы пишем название города полностью, например "Челябинск", то все проходит хорошо..название города сравнивается, тянется цена..но вот если мы во вреям набора воспользуемся подсказкой autocomplete и выберем "Челя" то город вставляется нормально в поле..а вот запрос обрабатывает как раз "Челя"..соотвесвтенно выдается ошибка о том, что такого города нет.. Вопрос: Какое событие лучше подобрать или сделать возможно свое, чтобы сначала вставлялось название города в поле, а потом шел запрос на сервер? Как вариант назанчить запрос на клик по подсказке autocomplete, но каким элементам я не назначал клики - она не работали, хотя подсказка - это список с ul, li,a. |
Вы хоть документацию читайте
у этого плагина есть своё событие change .... change – событие autocompletechange наступает после того, как выбран один из пунктов списка. Событие всегда наступает после close. или $("#tag").autocomplete({ source: availableTags, select: function(event, ui) { alert('Событие: ' + event.type + ',\nзначение: ' + ui.item.value); } }); |
В autocomplete есть событие onselect, которое срабатывает при выборе элемента из списка.
Типа того: $('#countprice').autocomplete({ //... onSelect: function(value, data) { alert(value+', '+data); } //... }); |
Спасибо!)
Каюсь, в этот раз ступил и не прочитал что написано в документации плагина. Думал что все манипуляции надо производить стандартными событиями поля. Задача решилась с помощью события close..он выполняется после вставки значения в поле. select к сожалению не подошел, так же отсылалось половина города, то есть оно выполняется до вставки значения. |
Часовой пояс GMT +3, время: 05:10. |