En realidad no es un pequeño programa que puede lograr este extraño falta de posibilidad de elegir el número de elementos que se muestran en la etiqueta SELECT.
1 -
Digamos que queremos un SELECT mostrar un número máximo de 10 elementos. Adición de los siguientes eventos js a su etiqueta SELECT va a lograr este objetivo:
onfocus='this.size=10;'
onblur='this.size=1;'
onchange='this.size=1; this.blur();'
Esta manera de engañar al SELECT dándole el efecto deseado convertirlo a un SELECT tamaño.
2 -
Digamos que en cierto momento hay menos de un máximo de 10 artículos que desea mostrar.
Suponiendo que está recibiendo su SELECT de una consulta SQL que puede hacer algo como lo siguiente: Una vez que sepa el número de filas de su consulta tiene usted puede incluir la siguiente frase al bucle
if($nRow<10){
$nRowSelect=$nRow+1;
}
else{
$nRowSelect=10;
}
Así que si hay menos de 10 filas en cada ciclo, asigna la cantidad deseada de filas que se mostrarán.
onfocus='this.size=$nRowSelect;'
onblur='this.size=1;'
onchange='this.size=1; this.blur();'
3 -
comportamiento Buggy elementos de desplazamiento. Desde este hack reemplaza un SELECT común con un ‘tamaño’ uno que toma el espacio que necesita desplazar el contenido, no como un SELECT común que se solapa con el contenido por debajo de ella. Para evitar que esto suceda si el SELECT se va a colocar digamos en una etiqueta TD primero puede colocarlo en un DIV con el siguiente estilo:
position:absolute;
z-index:1;
Esto permitirá que el solapamiento SELECT tamaño el contenido a continuación es como si fuera un SELECTO común.
Este problema ya fue discutido. http://stackoverflow.com/questions/5538330/how-do-i-limit-the-number-of-options-displayed-in-an-html-select-element-dropdow – Pavan