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
size
atributo. Funciona en todos los navegadores recientes.fuente
Puede hacer esto usando el
size
atributo en laselect
etiqueta. 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
select
podría contener looptgroup
que toma una línea cada uno:En este ejemplo, el total
size
es(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