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

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

Я знаю, что этот вопрос довольно старый, но для справки в будущем я использовал выбор с параметрами 30800 и работал довольно хорошо (когда скрипт php не выходит из времени для получения значений)

STT LCU 16.01.2012 19:26

Более серьезной проблемой может быть тайм-аут, если запрос к базе данных AJAX заполняет список. Таким образом, люди, приземляющиеся здесь, также могут захотеть выполнить поиск по тайм-аутам AJAX, если это их ситуация.

Scott C Wilson 04.09.2015 04:55
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
24
2
49 459
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий

Does anyone know how many options a drop down list can have? Is it unlimited?

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

How many before performance degrades?

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


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

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

ну на мобильном устройстве другое дело

Sebas 01.10.2016 21:50

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

В большей степени, связанной с программным обеспечением, возможно, это верхний диапазон целых чисел.

Обновлено: Кстати, это актуально от Этвуд

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

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

И Firefox, и Chrome ограничены параметрами 10k в Windows 64b с 4 ГБ оперативной памяти в конфигурации по умолчанию.

Протестировано с JSFiddle http://jsfiddle.net/Mare6/

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);
}
<a>Testing Select</a>
<select id = "list"></select>

С уважением,

увлекательно, особенно с учетом того, что в документации Mozilla указано «Разрешенное содержимое Ноль или более элементов <option> или <optgroup>». - developer.mozilla.org/en-US/docs/Web/HTML/Element/…

Steve Tranby 12.03.2014 08:26

Неправда, у меня есть выбор с 80000 опциями, хром позволяет 30 000 на одной машине и 20 800 на другой, первая машина имеет 8 ГБ ОЗУ, вторая - 4 ГБ, так что это в основном основано на технических характеристиках компьютера.

Danny22 05.01.2015 16:57

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

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

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

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

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

Судя по моему тестированию, Firefox не имеет практических ограничений.

Другие вопросы по теме