2016-04-17 7 views
1

Ich habe ein select2 Eingabefeld für Multiselect-Option, in dem Benutzer so viele Optionen wie er will, wenn die ausgewählten Optionen mehr Platz als die verfügbare Breite belegen dann haben Ich wollte die Höhe der Auswahlbox automatisch erhöhen (Scroll-Option nicht, alle Optionen sollten im sichtbaren Bereich sein) und die restlichen Optionen in der nächsten Zeile abrufen. Derzeit kommen Optionen in der nächsten Zeile, aber die Höhe des Auswahlfelds wird nicht erhöht.Wie automatisch die Höhe von select2 Eingabefeld (mehrere)

enter image description here

Wenn ich die Höhe Eigenschaft in den .select2-Behälter entfernen - Standard .select2-Auswahl - mehrere Klasse, es funktioniert. Aber ich möchte, dass diese Eigenschaft height die Anfangshöhe der Auswahlbox steuert.

Unten ist die erste Auswahl Box Höhe ohne Höhe Eigenschaft in der .select2-Container - Standard .select2-Auswahl - mehrere und die automatische Höhe funktioniert hier perfekt. enter image description here

enter image description here

.select2-container--default .select2-selection--multiple { 
    background-color: #ffffff; 
    border: 1px solid rgba(0, 0, 0, 0.1); 
    -webkit-border-radius: 2px; 
    border-radius: 2px; 
    cursor: text; 
    height: 22px; 
} 

JSFiddle: https://jsfiddle.net/rd62bhbm/

+0

Sie müssen einen minimalen Code hinzufügen, damit wir Ihnen eine angemessene Antwort geben können. Ein http://jsfiddle.net/ wird noch besser sein. – Roy

+0

Bearbeitete meine Frage mit jsfiddle link – user1614862

+0

Bitte überprüfen Sie meine Antwort, wenn es Ihnen hilft, wenn nicht, werden wir eine andere Lösung finden. Vielen Dank. –

Antwort

6

diese CSS select2-selection--multiple Klasse hinzufügen:

.select2-selection--multiple{ 
    overflow: hidden !important; 
    height: auto !important; 
} 

Updated Fiddle, Ich hoffe, es funktioniert für Sie, Danke.

+0

Wie sortieren Sie die Optionen in alphabetischer Reihenfolge in der Anfangsphase und nach jeder Auswahl und Auswahl? Ich habe folgendes versucht, was nicht funktioniert hat. Sortierer: Funktion (Daten) { Rückgabe data.sort(); } – user1614862

0

Verwenden min-height:22px statt height:22px

select2-container--default .select2-selection--multiple { 
    background-color: #ffffff; 
    border: 1px solid rgba(0, 0, 0, 0.1); 
    -webkit-border-radius: 2px; 
    border-radius: 2px; 
    cursor: text; 
    min-height: 22px; 
} 
+0

Ich habe das schon versucht, es hat nicht funktioniert. Weil es die Anfangshöhe der Auswahlbox ändert. Ich möchte, dass die Anfangshöhe der Auswahlbox 22px beträgt, um sie mit anderen Formulareingabefeldern einheitlich zu machen. – user1614862

+0

'Weil es die Anfangshöhe der Auswahlbox ändert '. Wie hoch ist der anfängliche Wert in der Höhe? Stellen Sie die gewünschte Höhe als "Min-Höhe" ein. – Roy

+0

Ich möchte, dass es 22px ist und ich habe diesen Wert für min-height, es ist Rendering wie im zweiten Bild gezeigt, aber ich möchte es wie im ersten Bild dargestellt werden gerendert. – user1614862

Verwandte Themen