На самом деле есть небольшой взлом, который может достичь этой странной нехватки возможности выбора количества элементов, отображаемых в SELECT TAG.
1 -
Допустим, мы хотим ВЫБРАТЬ отображение максимальное количество 10 штук. Добавления следующих Js событий в селектах TAG будут достичь этой цели:
onfocus='this.size=10;'
onblur='this.size=1;'
onchange='this.size=1; this.blur();'
Это обманет ваши ВЫБРАТЬ придав ему желаемый эффект превратить его в размере SELECT.
2 -
Допустим, что в определенный момент есть меньше, чем максимум 10 пунктов, которые мы хотим отобразить.
Предполагая, что вы получаете ваш ВЫБРАТЬ из запроса SQL вы можете сделать что-то вроде следующего: После того, как вы знаете, сколько строк ваш запрос имеет вы можете включить следующее предложение к петле
if($nRow<10){
$nRowSelect=$nRow+1;
}
else{
$nRowSelect=10;
}
Так что если в каждом цикле меньше 10 строк, он выделяет нужное количество строк, которое он будет отображать.
onfocus='this.size=$nRowSelect;'
onblur='this.size=1;'
onchange='this.size=1; this.blur();'
3 -
поведения Багги замещающие элементы. Поскольку этот хак заменяет общий SELECT на «размер», он занимает пространство, в котором ему требуется перемещение контента, а не как общий SELECT, который перекрывает содержимое под ним. Чтобы предотвратить это, если SELECT, собирается поместить, скажем, в TD TAG вы можете сначала поместить его в DIV со следующим стилем:
position:absolute;
z-index:1;
Это позволит размерному ВЫБЕРИТЕ перекрытие ниже содержание как будто это был общий SELECT.
Этот вопрос уже обсуждался. http://stackoverflow.com/questions/5538330/how-do-limit-the-number-of-options-displayed-in-an-html-select-element-dropdow – Pavan