J'utilise jQuery UI Autocomplete.
$("#task").autocomplete({
max:10,
minLength:3,
source: myarray
});
Le paramètre max ne fonctionne pas et j'obtiens toujours plus de 10 résultats. Est-ce que quelque chose m'échappe ?
J'utilise jQuery UI Autocomplete.
$("#task").autocomplete({
max:10,
minLength:3,
source: myarray
});
Le paramètre max ne fonctionne pas et j'obtiens toujours plus de 10 résultats. Est-ce que quelque chose m'échappe ?
Voici le la documentation appropriée pour le jQueryUI widget. Il n'y a pas de paramètre intégré pour limiter les résultats maximums, mais vous pouvez le faire facilement :
$("#auto").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(myarray, request.term);
response(results.slice(0, 10));
}
});
Vous pouvez fournir une fonction à la fonction source
et ensuite appeler slice
sur le tableau filtré.
Voici un exemple concret : http://jsfiddle.net/andrewwhitaker/vqwBP/
Fonctionne comme un charme. C'est très utile si votre liste d'autocomplétion est très longue (~10k résultats) et ralentit le rendu html.
Merci beaucoup pour cela ! Maintenant je peux laisser les utilisateurs avoir une liste massive dans localStorage, mais le site web est vraiment rapide ! Superbe ! :D Merci beaucoup pour cela ! :D Je suis si heureux d'avoir trouvé cette solution ^__^
Que faire si l'on a deux boîtes de complétion automatique sur la même page ? Lorsque je fais le découpage de la réponse sur les deux, les deux ne se découpent plus du tout :/.
C'est assez compliqué. Si vous avez une liste très longue et que la saisie semi-automatique renvoie des milliers de résultats, elle sera très lente...
Comme "Jayantha" l'a dit, utiliser les css serait l'approche la plus simple, mais ceci pourrait être mieux,
.ui-autocomplete { max-height: 200px; overflow-y: scroll; overflow-x: hidden;}
Notez que la seule différence est "max-height". Cela permettra au widget d'être redimensionné à une hauteur inférieure, mais pas supérieure à 200px.
À cause de votre solution. Même si elle est valide, nous discutons de solutions JQuery. Offrir une solution CSS à un programmeur n'est pas une bonne idée quand le problème peut être résolu avec jQuery. Et à la fin, il s'agit juste de masquer les résultats et non de résoudre le problème comme dans la réponse acceptée. C'est parti !
Il n'est pas bon d'interroger une base de données à chaque fois que la souris se lève ! Cela peut être lent sur certains serveurs ou sur des bases de données énormes. D'ailleurs, je n'ai pas voté contre mais j'ai écrit cette explication. Ce que les gens devraient faire quand ils votent contre. Merci.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
11 votes
Il n'y a pas d'option appelée
max
dans l'autocomplétion