Je souhaite effacer la zone de texte avec Jquery Autocomplete une fois que l'utilisateur a effectué la sélection.
J'ai essayé de vider le champ en:
select: function(event, ui) {
$(this).val('');
}
Mais cela ne fonctionne pas. J'utilise jquery-1.6.4 et jquery-ui-1.8.16.
Des idées?
L'événement select se produit avant la mise à jour du champ. Vous devrez annuler l'événement pour éviter que le champ ne soit mis à jour après l'avoir effacé:
select: function(event, ui) {
$(this).val("");
return false;
}
Mise à jour: As T.J. Comme indiqué ci-dessous, il est légèrement plus rapide de mettre à jour la propriété value
DOM directement plutôt que de passer par val () :
select: function(event, ui) {
this.value = "";
return false;
}
J'utilise jQuery UI version 1.8.23 et $(this).val("");
sur l'événement select
n'a pas fonctionné pour moi, mais cela a fonctionné:
$("selector").autocomplete({
// ...
close: function(el) {
el.target.value = '';
}
});
Essayer
select: function(event, ui) {
input.value='';
}
Vous pouvez aussi essayer ceci:
$("#your_autocomplete_sub_listview_id").children().addClass("ui-screen-hidden");
qui cachera toute la liste filtrée autocomplete lors de la sélection.