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

StackOverflow https://stackoverflow.com/questions/42763

Вопрос

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

Это было полезно?

Решение

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

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

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

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


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

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

Обновить:Основываясь на 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);
    }
});

С уважением,

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

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

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

Редактировать:Кстати, это отчасти актуально с точки зрения Этвуд

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

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

Firefox, похоже, не имеет практических ограничений по результатам моего тестирования.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top