Максимальное количество кликабельных опций #IE8

Кажется, существует ограничение на максимальное количество интерактивных опций в элементе выбора.

Если есть элемент select с 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 (8.0.7000.0). Кажется, он отлично работает в ie8 final


person Lucas Ayala    schedule 26.05.2009    source источник
comment
Что ж. Приятно осознавать, что даже в бета-версии IE8 предел намного выше, чем любое практическое количество доступных опций.   -  person tvanfosson    schedule 26.05.2009
comment
почему, во имя бога, у вас так много вариантов в одном выборе... это абсолютно ужасный пользовательский опыт. Не говоря уже об увеличении времени загрузки страницы/постбэка. У вас нет возможности разбить это на подфильтры или использовать вместо этого какое-то автозаполнение текстового поля или функцию Grid/paging/select?   -  person Eoin Campbell    schedule 26.05.2009
comment
Почему вас вообще волнует это в бета-версии? Это бета, есть ошибки.   -  person epascarello    schedule 26.05.2009
comment
Да, я знаю, что так много вариантов в одном выборе — не самая полезная вещь в мире. И дело в том, что прямо сейчас работает с кучей вариантов, и я меняю его, чтобы вы могли фильтровать по тексту и показывать вам только несколько вариантов (наиболее часто встречающихся), но с одним последним вариантом больше ... который обновляет выбрать и добавить дополнительные параметры. Спасибо за ваши комментарии   -  person Lucas Ayala    schedule 27.05.2009


Ответы (2)


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

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

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

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

Раскачать!

person Oli    schedule 26.05.2009

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

person erikkallen    schedule 26.05.2009