Кто-нибудь знает, сколько вариантов может иметь раскрывающийся список? Это неограниченно? Сколько до ухудшения производительности?
Есть ли максимальное количество опций (значений) в выпадающем меню HTML?
Ответ 1
Кто-нибудь знает, сколько вариантов может иметь раскрывающийся список? Это неограниченно?
Я предполагаю, что это теоретически неограниченно, очевидно, не на практике, поскольку компьютерная RAM и конкретные ограничения браузера вступают в игру.
Сколько до ухудшения производительности?
Опять же, это будет зависеть от нескольких факторов, по крайней мере от конкретного браузера, от компьютерной памяти и вычислительной мощности.
EDIT: Из опыта у меня были выпадающие списки с тысячами опций. Это было не идеально, хотя, потому что кто хочет прокрутить все это? Вот почему автозаполнение какого-либо типа более желательно по многим причинам, особенно для конечных пользователей.
Ответ 2
Обновление: на основе DannyG, протестированного на Ubuntu с Firefox на 4 Гб памяти, ограничение было далеко за пределами 10k тегов. Мой текущий Firefox настроен на использование до 3 ГБ, и он достиг 100k опций, но для этого вам придется изменить конфигурацию по умолчанию браузера, я думаю.
Мы решили использовать автозаполнение Ajax в качестве замены во всех случаях, когда указаны 30+ опций.
Оба Firefox и Chrome ограничены параметрами 10k в Windows 64b с 4 ГБ оперативной памяти по умолчанию.
Протестировано с помощью 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);
}
});
Привет,
Ответ 3
Я использовал около 500 в списке без заметного влияния на производительность, если это помогает!
Ответ 4
По моему опыту, ухудшение производительности, как правило, на стороне пользователя, мое золотое правило (узнанное где-то) - это семь вариантов, дайте или возьмите несколько.
В более зависимой от SW основе, вероятно, верхний диапазон Integer.
EDIT: BTW Это относится к Atwood
Ответ 5
Да, максимум для Chrome и Safari - это 10000 элементов для элементов select
.
Соответствующие строки в источнике Chrome можно найти здесь: Определено max 10000, Код, который устанавливает ограничение и помещает ошибку в консоль
У Firefox, похоже, нет практического предела от моего тестирования.
Ответ 6
В теории нет предела, но некоторые браузеры будут применять ограничения. (Аналогично использованию document.write
в бесконечном цикле.)
Но, в конце концов, самое большее, что я когда-либо рекомендовал бы в раскрывающемся списке, составляет около 50, просто потому, что никто не хочет делать такую прокрутку. При этом, если организовано, скажем, в алфавитном порядке, может быть уместно иметь до 200 предметов в раскрывающемся списке. (Как для регистрации, где вы должны выбрать страну рождения.)
Кроме того, когда у вас много разных вариантов набора, выпадающий список обычно является лучшим вариантом, независимо.