Apparemment, cela ne fonctionne pas:
select[multiple]{
height: 100%;
}
cela fait que la sélection a une hauteur de page de 100% ...
auto
ne fonctionne pas non plus, j'obtiens toujours la barre de défilement verticale.
D'autres idées?
html
css
html-select
Alex
la source
la source
Réponses:
Je suppose que vous pouvez utiliser l'
size
attribut. Cela fonctionne dans tous les navigateurs récents.la source
Vous pouvez le faire en utilisant l'
size
attribut dans laselect
balise. En supposant que vous ayez 8 options, alors vous le feriez comme:la source
Vieux, mais cela fera ce que vous recherchez sans avoir besoin de jquery. Le débordement caché supprime la barre de défilement et le javascript lui donne la bonne taille.
Et juste une petite quantité de javascript
la source
Pour jQuery, vous pouvez essayer ceci. Je fais toujours ce qui suit et ça marche.
la source
Vous ne pouvez le faire qu'en Javascript / JQuery, vous pouvez le faire avec le JQuery suivant (en supposant que vous avez donné à votre sélection un identifiant de multiselect):
Démo: http://jsfiddle.net/AZEFU/
la source
$('select.expandable').each(function() { $(this).attr('size', $(this).find('option').length) })
Je sais que la question est ancienne, mais comment le sujet n'est pas clos, je vais vous aider.
L'attribut "taille" résoudra votre problème.
Exemple:
la source
select
pourrait conteniroptgroup
ce qui prend une ligne chacun:Dans cet exemple, le total
size
est(1+1)+(1+2)=5
.la source
<optgroup>
s et de<option>
s.Vous pouvez le faire avec un simple javascript ...
... ou limiter la hauteur jusqu'au nombre d'enregistrements ...
la source
$('#firstSelect').attr('size', $('#firstSelect').length);
. Regardez ce violon: https://jsfiddle.net/ergt5upf/2/Pour supprimer la barre de défilement, ajoutez le CSS suivant:
Voici un extrait:
la source
L'utilisation de l' attribut size est la solution la plus pratique, mais il y a des bizarreries quand il est appliqué pour sélectionner des éléments avec seulement deux ou trois options.
Un simple JavaScript peut être utilisé pour définir automatiquement l'attribut size sur la valeur correcte, par exemple, voyez ce violon .
Comme mentionné ci-dessus, cette solution ne résout pas le problème lorsqu'il n'y a que deux ou trois options.
la source
amis: si vous récupérez les données d'un DB: vous pouvez appeler cela $ registers = * _num_rows (Result_query) alors
la source
J'ai eu cette exigence récemment et j'ai utilisé d'autres articles de cette question pour créer ce script:
la source
Pour ajuster la taille (hauteur) de toutes les sélections multiples au nombre d'options, utilisez jQuery:
la source
Vous pouvez d'abord compter la balise d'option, puis définir l'attribut count for size. Par exemple, en PHP, vous pouvez compter le tableau puis utiliser une boucle foreach pour le tableau.
la source
La manière dont une zone de sélection est rendue est déterminée par le navigateur lui-même. Ainsi, chaque navigateur vous montrera la hauteur de la zone de liste d'options dans une autre hauteur. Vous ne pouvez pas influencer cela. La seule façon de changer cela est de faire votre propre sélection à partir de zéro.
la source
Voici un exemple d'utilisation de package, qui est très populaire dans la communauté Laravel:
Paquet: https://laravelcollective.com/
la source