Effacer la zone de texte dans Jquery Autocomplete après la sélection

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.