2009-05-26 3 views
2

Кажется, что существует ограничение на максимальное количество доступных для клика вариантов в элементе select.Максимально доступные для клика варианты # IE8

Если есть элемент выбора с параметрами 3200+. Элементы с 3125 по N не запускают событие изменения при нажатии. Однако элементы можно выбрать с помощью клавиатуры.

Любая идея, если это ошибка или функция IE8 ?. Нет такой проблемы в IE6, IE7, FF или хром.

Вот пример:

<html> 
    <head> 
    <title>Large select</title> 
    <script> 
    function loadData() 
    { 
    var s=document.getElementById('s'); 
    for(i=0;i<3500;i++) 
     s.options[i]=new Option(i); 
    } 
    </script> 
</head> 
<body onload="loadData()"> 
<select id="s" multiple="multiple" size="20" onchange="alert('change')"></select> 
</body> 
</html> 

обновление: Я пытался это в IE8 Beta (8.0.7000.0). Это, кажется, прекрасно работает в ie8 финале

+0

Ну. Приятно знать, что даже в IE8 Beta предел намного выше любого практического количества доступных вариантов. – tvanfosson

+0

Почему во имя бога у вас есть много вариантов в одном выборе ... это абсолютно ужасающий пользовательский интерфейс. Не говоря уже о увеличении времени pageload/postback. У вас нет возможности разбить это на субфильтры или использовать какой-то автозаполнение текстового поля или функцию Grid/paging/select вместо –

+0

Почему вам все равно в бета-версии? Это бета-версия, у нее есть ошибки. – epascarello

ответ

5

Там нет такой проблемы в ...

проблема ?! Я единственный пользователь SO, который боится зверя, которого вы создаете?

Просто из любопытства, почему у вас так много вариантов?

Редактировать: Не поймите меня неправильно, это интересно узнать верхние пределы вещей. Но теперь я видел, что теперь это работает в финале IE8, мой следующий сайт будет иметь по крайней мере 6000 <options> в любом <select>, который я использую!

Rock on!

+0

нет, вы не одиноки./me cringes –

2

Это еще один из тех ограничений, которые вы должны НИКОГДА ударил. Точно так же, как максимальное количество столбцов в таблице базы данных. Даже спрашивая, какой предел указывает на ужасную ошибку в дизайне.

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