Aparentemente, isso não funciona:
select[multiple]{
height: 100%;
}
faz com que a seleção tenha 100% da altura da página ...
auto
também não funciona, ainda recebo a barra de rolagem vertical.
Alguma outra ideia?
html
css
html-select
Alex
fonte
fonte
Respostas:
Eu acho que você pode usar o
size
atributo. Funciona em todos os navegadores recentes.fonte
Você pode fazer isso usando o
size
atributo naselect
tag. Supondo que você tenha 8 opções, você faria assim:fonte
Antigo, mas isso fará o que você procura sem a necessidade de jquery. O estouro oculto remove a barra de rolagem e o javascript a torna do tamanho certo.
E apenas uma pequena quantidade de javascript
fonte
Para jQuery, você pode tentar isso. Eu sempre faço o seguinte e funciona.
fonte
Você só pode fazer isso em Javascript / JQuery, você pode fazer isso com o seguinte JQuery (supondo que você forneceu ao seu select um id de multiselect):
Demo: http://jsfiddle.net/AZEFU/
fonte
$('select.expandable').each(function() { $(this).attr('size', $(this).find('option').length) })
Sei que a dúvida é antiga, mas como o tópico não está fechado darei minha ajuda.
O atributo "tamanho" resolverá seu problema.
Exemplo:
fonte
select
pode conter ooptgroup
que leva uma linha cada:Neste exemplo, o total
size
é(1+1)+(1+2)=5
.fonte
<optgroup>
s e<option>
s.Você pode fazer isso com javascript simples ...
... ou limite a altura até o número de registros ...
fonte
$('#firstSelect').attr('size', $('#firstSelect').length);
. Olhe para este violino: https://jsfiddle.net/ergt5upf/2/Para remover a barra de rolagem, adicione o seguinte CSS:
Aqui está um snippet:
fonte
Usar o atributo size é a solução mais prática, no entanto, existem peculiaridades quando ele é aplicado para selecionar elementos com apenas duas ou três opções.
JavaScript simples pode ser usado para definir o atributo de tamanho para o valor correto automaticamente, por exemplo, veja este violino .
Conforme mencionado acima, esta solução não resolve o problema quando há apenas duas ou três opções.
fonte
amigos: se você recuperar os dados de um banco de dados: você pode chamar isso de $ registers = * _num_rows (Result_query) então
fonte
Tive esse requisito recentemente e usei outras postagens desta pergunta para criar este script:
fonte
Para ajustar o tamanho (altura) de todas as seleções múltiplas para o número de opções, use jQuery:
fonte
Você pode contar a tag de opção primeiro e, em seguida, definir a contagem para o atributo de tamanho. Por exemplo, em PHP você pode contar o array e então usar um loop foreach para o array.
fonte
A forma como uma caixa de seleção é renderizada é determinada pelo próprio navegador. Assim, cada navegador mostrará a altura da caixa de lista de opções em outra altura. Você não pode influenciar isso. A única maneira de mudar isso é fazer sua própria seleção do zero.
fonte
Aqui está um exemplo de uso de pacote, que é bastante popular na comunidade Laravel:
Pacote: https://laravelcollective.com/
fonte