Подтвердить что ты не робот

Есть ли максимальное количество опций (значений) в выпадающем меню HTML?

Кто-нибудь знает, сколько вариантов может иметь раскрывающийся список? Это неограниченно? Сколько до ухудшения производительности?

4b9b3361

Ответ 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 предметов в раскрывающемся списке. (Как для регистрации, где вы должны выбрать страну рождения.)

Кроме того, когда у вас много разных вариантов набора, выпадающий список обычно является лучшим вариантом, независимо.