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: Comme TJ l’a souligné ci-dessous, il est légèrement plus rapide de mettre à jour la propriété DOM directement au lieu de passer par val ()
select: function(event, ui) { this.value = ""; return false; }
J’utilise la version 1.8.23 de jQuery UI et $(this).val("");
sur select
event 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");
ce qui cachera toute la liste filtrée à complétion automatique lors de la sélection.