Очистить текстовое поле в автозаполнении JQuery после выбора
Я хочу очистить текстовое поле с автозагрузкой Jquery после того, как пользователь сделал выбор.
Я попытался очистить поле:
select: function(event, ui) {
$(this).val('');
}
Но это не работает. Я использую jquery-1.6.4 и jquery-ui-1.8.16.
Любые идеи?
Ответы
Ответ 1
Событие select происходит до обновления поля. Вам нужно будет отменить это событие, чтобы избежать обновления поля после его очистки:
select: function(event, ui) {
$(this).val("");
return false;
}
Обновление: как T.J. ниже, он немного быстрее обновляет свойство value
DOM напрямую, а не проходит через val():
select: function(event, ui) {
this.value = "";
return false;
}
Ответ 2
Try
select: function(event, ui) {
input.value='';
}
Ответ 3
Я использую jQuery UI версии 1.8.23 и $(this).val("");
on select
для меня не срабатывало событие, но это:
$("selector").autocomplete({
// ...
close: function(el) {
el.target.value = '';
}
});
Ответ 4
Вы также можете попробовать следующее:
$("#your_autocomplete_sub_listview_id").children().addClass("ui-screen-hidden");
который скроет весь отфильтрованный список автозаполнения при его выборе.