Y a-t-il un nombre maximum d'options (valeurs) dans le contrôle déroulant HTML?
Est-ce que quelqu'un sait combien d'options une liste déroulante peut avoir? Est-il illimité? Combien avant que la performance se dégrade?
6 réponses
Est-ce que quelqu'un sait combien d'options une liste déroulante peut avoir? Est-il illimité?
J'imagine que c'est illimité en théorie, évidemment pas en pratique car la RAM d'un ordinateur et les limitations du navigateur spécifique entrent en jeu.
Combien avant que la performance se dégrade?
Encore une fois, cela dépendrait de quelques facteurs, au moins le navigateur spécifique, la mémoire de l'ordinateur et la puissance de traitement.
EDIT: d'expérience, j'ai eu listes déroulantes avec des milliers d'options. Ce n'était pas idéal parce que qui veut faire défiler tous ceux-ci? C'est pourquoi un auto-remplir d'un certain type est plus souhaitable pour de nombreuses raisons, en particulier l'expérience de l'utilisateur final.
Mise à jour: basé sur DannyG, testé sur Ubuntu avec Firefox sur un pc mem 4GB, la limite était bien au-delà des tags 10k. Mon Firefox actuel est configuré pour utiliser JUSQU'à 3GB et il a atteint 100k options, mais pour cela, vous devrez changer la configuration par défaut du navigateur je suppose.
Nous avons choisi d'utiliser un Ajax autocomplete comme remplacement dans tous les cas que 30+ options ont été données.
Firefox et Chrome sont limités aux options 10k dans Windows 64b avec 4 Go de ram sur la configuration par défaut.
Testé avec JSFiddle http://jsfiddle.net/Mare6/
Html:
<a>Testing Select</a>
<select id="list"></select>
Javascript
window.onLoad = function() {
for (var i=0; i<10000; i++) {
var name = "Option "+i;
var sel = document.getElementById("list");
sel.options[sel.options.length] = new Option(name,i);
}
});
Cordialement,
J'ai utilisé juste autour de 500 dans une liste sans impact notable sur les performances si cela aide!
D'après mon expérience, la dégradation des performances est généralement du côté de l'utilisateur, ma règle d'or (apprise quelque part) est de sept options, à peu près.
Sur une base plus liée à SW, probablement la plage supérieure D'entier.
EDIT: BTW C'est un peu pertinent de Atwood
Oui, le maximum pour Chrome et Safari est de 10000 éléments pour au moins select
éléments.
Les lignes pertinentes dans la source Chrome peuvent être trouvées ici: Défini max de 10000, Code qui impose la limite et met erreur dans la console
Firefox semble n'avoir aucune limite pratique de mes tests.
En théorie, il n'y a pas de limite, mais certains navigateurs implémentent des limites. (Similaire à l'utilisation de document.write
dans une boucle infinie.)
Mais, à la fin de la journée, le plus que je recommanderais dans une liste déroulante, est d'environ 50, juste parce que personne ne veut faire autant de défilement. Cela dit, si organisé, par exemple par ordre alphabétique, il peut être approprié d'avoir de 200 articles dans une liste déroulante liste. (Comme pour un formulaire d'inscription où vous devez sélectionner votre pays de naissance.)
Aussi, quand vous avez beaucoup de choix de jeu différents, une liste déroulante est normalement la meilleure option, quel que soit.