Aparentemente esto no funciona:
   select[multiple]{
     height: 100%;
   }
hace que la selección tenga un 100% de altura de página ...
auto tampoco funciona, todavía obtengo la barra de desplazamiento vertical.
¿Alguna otra idea?

                    
                        html
                                css
                                html-select
                                
                    
                    
                        Alex
fuente
                
                fuente

Respuestas:
Supongo que puedes usar el
sizeatributo. Funciona en todos los navegadores recientes.fuente
Puede hacer esto usando el
sizeatributo en laselectetiqueta. Suponiendo que tiene 8 opciones, lo haría así:fuente
Viejo, pero esto hará lo que buscas sin necesidad de jquery. El desbordamiento oculto elimina la barra de desplazamiento y el javascript la hace del tamaño correcto.
Y solo una pequeña cantidad de javascript
fuente
Para jQuery puedes probar esto. Siempre hago lo siguiente y funciona.
fuente
Solo puede hacer esto en Javascript / JQuery, puede hacerlo con el siguiente JQuery (suponiendo que le haya dado a su selección una identificación de selección múltiple):
Demostración: http://jsfiddle.net/AZEFU/
fuente
$('select.expandable').each(function() { $(this).attr('size', $(this).find('option').length) })Sé que la pregunta es antigua, pero como el tema no se cierra, daré mi ayuda.
El atributo "tamaño" resolverá su problema.
Ejemplo:
fuente
selectpodría contener looptgroupque toma una línea cada uno:En este ejemplo, el total
sizees(1+1)+(1+2)=5.fuente
<optgroup>sy<option>s.Puede hacer esto con un simple javascript ...
... o limitar la altura hasta el número de registros ...
fuente
$('#firstSelect').attr('size', $('#firstSelect').length);. Mira este violín: https://jsfiddle.net/ergt5upf/2/Para eliminar la barra de desplazamiento, agregue el siguiente CSS:
Aquí hay un fragmento:
fuente
Usar el atributo de tamaño es la solución más práctica, sin embargo, existen peculiaridades cuando se aplica a elementos seleccionados con solo dos o tres opciones.
Se puede usar JavaScript simple para establecer el atributo de tamaño en el valor correcto automáticamente, por ejemplo, vea este violín .
Como se mencionó anteriormente, esta solución no resuelve el problema cuando solo hay dos o tres opciones.
fuente
amigos: si recupera los datos de una base de datos: puede llamar a esto $ registros = * _num_rows (Result_query) entonces
fuente
Recientemente tuve este requisito y usé otras publicaciones de esta pregunta para crear este script:
fuente
Para ajustar el tamaño (altura) de todas las selecciones múltiples al número de opciones, use jQuery:
fuente
Primero puede contar la etiqueta de opción y luego establecer el recuento para el atributo de tamaño. Por ejemplo, en PHP puede contar la matriz y luego usar un bucle foreach para la matriz.
fuente
El navegador determina la forma en que se representa un cuadro de selección. Entonces, cada navegador le mostrará la altura del cuadro de lista de opciones en otra altura. No puedes influir en eso. La única forma de cambiar eso es hacer una selección propia desde cero.
fuente
Aquí hay un ejemplo de uso del paquete, que es bastante popular en la comunidad de Laravel:
Paquete: https://laravelcollective.com/
fuente