J'utilise jQuery UI Autocomplete avec un peu de AJAX (les données ne sont extraites qu'après avoir cessé de taper). Je voudrais faire en sorte qu'une fois les données trouvées, la saisie semi-automatique apparaîtra alors comme résultat de la recherche. Cela fonctionne, mais seulement lorsque je recommence à taper (la liste déroulante ne se déclenche pas avant que je tape, car elle n'est initialisée qu'après avoir arrêté de taper).
Mon code:
var availableTags = [
"Perl",
"PHP",
"Python",
"Ruby"
];
$('input#mainSearchBox').autocomplete({
source: availableTags,
minLength: 0
});
$('input#mainSearchBox').data('autocomplete').menu.active;
La dernière partie était une tentative d'activation de la saisie semi-automatique, mais elle a échoué.
Vous pouvez utiliser le script suivant pour basculer manuellement la saisie semi-automatique:
var textbox = $('input#mainSearchBox');
var autocompleteBox = textbox.autocomplete('widget');
// toggle the autocomplete widget
autocompleteBox.is(':hidden') ?
textbox.autocomplete('search', textbox.val()).focus() :
autocompleteBox.hide();
Ce code se trouve dans le code source de exemple sur le site de démonstration jquery autocomplete (lignes 127 à 141).
Pour https://github.com/devbridge/jQuery-Autocomplete , vous pouvez utiliser:
$('input#mainSearchBox').autocomplete("getSuggestions", $('input#mainSearchBox').val())