Существует ли максимальное количество параметров (значений) в элементе управления раскрывающегося списка HTML? - PullRequest
23 голосов
/ 04 сентября 2008

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

Ответы [ 6 ]

21 голосов
/ 04 сентября 2008

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

Я полагаю, что теоретически оно не ограничено, очевидно, не на практике, так как ОЗУ компьютера и ограничения конкретного браузера вступают в игру.

Сколько, прежде чем производительность ухудшается?

Опять же, это будет зависеть от нескольких факторов, по крайней мере, от конкретного браузера, памяти компьютера и вычислительной мощности.


РЕДАКТИРОВАТЬ: Из опыта, у меня были выпадающие списки с тысячами вариантов. Это не было идеальным, потому что, кто хочет прокрутить все это? Вот почему автоматическое заполнение некоторых типов более желательно по многим причинам, особенно для конечного пользователя.

9 голосов
/ 11 марта 2014

Обновление: на основе DannyG, протестированного на Ubuntu с Firefox на 4-мегабайтном ПК, предел превышал 10 тыс. Тегов. Мой текущий Firefox настроен на использование до 3 ГБ, и он достиг 100 тыс. Вариантов, но для этого вам придется изменить конфигурацию браузера по умолчанию, я думаю.

Мы решили использовать автозаполнение Ajax в качестве замены во всех случаях, когда было предоставлено более 30 вариантов.

И Firefox, и Chrome ограничены параметрами 10 КБ в 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);
    }
});

С уважением,

7 голосов
/ 04 сентября 2008

Я использовал около 500 в списке без заметного влияния на производительность, если это поможет!

4 голосов
/ 30 октября 2015

Да, максимум для Chrome и Safari составляет 10000 элементов для select элементов минимум.

Соответствующие строки в источнике Chrome можно найти здесь: Определяется макс. 10000 , Код, который устанавливает ограничение и выдает ошибку в консоли

Похоже, что Firefox не имеет практических ограничений в моем тестировании.

4 голосов
/ 04 сентября 2008

По моему опыту, снижение производительности, как правило, на стороне пользователя, мое золотое правило (где-то усвоенное) - это семь вариантов, дай или возьми несколько.

На более относящейся к SW основе, вероятно, верхний диапазон Integer.

РЕДАКТИРОВАТЬ: BTW Это отчасти относится к Этвуд

0 голосов
/ 19 июля 2014

Теоретически, ограничений нет, но некоторые браузеры будут использовать ограничения. (Аналогично использованию document.write в бесконечном цикле.)

Но, в конце концов, самое большее, что я бы порекомендовал в раскрывающемся списке, - около 50, просто потому, что никто не хочет делать такую ​​большую прокрутку. Тем не менее, если организовано, скажем, в алфавитном порядке, может быть целесообразно иметь до 200 элементов в раскрывающемся списке. (Например, для формы регистрации, в которой вы должны выбрать страну своего рождения.)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...