2008-09-03 4 views
21

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

+2

Я знаю, что этот вопрос довольно старый, но для будущей ссылки я использовал выбор с параметрами 30800 и работал достаточно хорошо (когда скрипт php не уходит из времени, чтобы получить значения) – 2012-01-16 15:26:18

+0

. тайм-аут, если запрос базы данных AJAX заполняет список. Таким образом, люди, приземляющиеся здесь, могут также захотеть найти тайм-ауты AJAX, если это их ситуация. – 2015-09-04 01:55:17

ответ

20

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

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

Сколько еще до ухудшения характеристик?

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


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

6

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

+1

Прямые ответы или соответствующий опыт ... замечательно читать. – user3308043 2014-07-31 20:50:47

4

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

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

EDIT: КСТАТИ Это своего рода отношение от Atwood

8

Update: На основе 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); 
    } 
}); 

С уважением,

0

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

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

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

1

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

соответствующие строки в источнике Chrome можно найти здесь: Defined max of 10000, Code that enforces limit and puts error in console

Firefox, кажется, не имеют никакого практического предела от моего тестирования.

Смежные вопросы