Ich verwende die Bootstrap-Dropdown-Komponente in meiner Anwendung wie folgt:
<div class="btn-group">
<button class="btn">Please Select From List</button>
<button class="btn dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu">
<li><a tabindex="-1" href="#">Item I</a></li>
<li><a tabindex="-1" href="#">Item II</a></li>
<li><a tabindex="-1" href="#">Item III</a></li>
<li class="divider"></li>
<li><a tabindex="-1" href="#">Other</a></li>
</ul>
</div>
Ich möchte das ausgewählte Element als BTN-Label anzeigen. Mit anderen Worten, ersetzen Sie "Bitte aus Liste auswählen" durch das ausgewählte Listenelement ("Element I", "Element II", "Element III").
quelle
Aktualisiert für Bootstrap 3.3.4:
Auf diese Weise können Sie für jedes Element einen anderen Anzeigetext und Datenwert festlegen. Es wird auch das Caret bei der Auswahl beibehalten.
JS:
HTML:
JS Fiddle Beispiel
quelle
$(this).text()
.$(this).parents(".dropdown").find('.btn')
in einer Variablen zu speichern , anstatt dass jquery das DOM zweimal durchläuft.Ich konnte Jais Antwort auf die Arbeit leicht verbessern, wenn Sie mehr als ein Dropdown-Menü mit einer ziemlich guten Präsentation haben, die mit Bootstrap 3 funktioniert:
Code für den Knopf
JQuery-Snippet
Ich habe der Klasse "Auswahl" auch ein 5-Pixel-Randrecht hinzugefügt.
quelle
Diese einzelne jQuery-Funktion erledigt alles, was Sie brauchen.
quelle
Hier ist meine Version davon, von der ich hoffe, dass sie etwas Zeit spart :)
jQuery TEIL:
HTML-TEIL:
quelle
Dieser funktioniert mit mehr als einem Dropdown auf derselben Seite. Außerdem habe ich dem ausgewählten Artikel Caret hinzugefügt:
quelle
Sie müssen add class
open
in verwenden<div class="btn-group open">
und
li
zusätzlich hinzufügenclass="active"
quelle
Weiter modifiziert basierend auf der Antwort von @Kyle, da $ .text () eine genaue Zeichenfolge zurückgibt, sodass das Caret-Tag buchstäblich gedruckt wird, als als Markup, nur für den Fall, dass jemand das Caret in der Dropdown-Liste intakt halten möchte.
quelle
Ich habe das Skript für mehrere Dropdowns auf der Seite korrigiert
quelle
Eine weitere einfache Möglichkeit (Bootstrap 4), mit mehreren Dropdowns zu arbeiten
quelle
Es scheint ein langes Problem zu sein. Wir möchten lediglich ein Auswahl-Tag in der Eingabegruppe implementieren. Der Bootstrap würde dies jedoch nicht tun: https://github.com/twbs/bootstrap/issues/10486
Der Trick besteht darin, dem übergeordneten div nur die Klasse "btn-group" hinzuzufügen
html:
js:
quelle
Sobald Sie auf das Element klicken, fügen Sie ein Datenattribut wie data-selected-item = 'true' hinzu und rufen Sie es erneut ab.
Versuchen Sie dann , data-selected-item = 'true' für das Element li hinzuzufügen, auf das Sie geklickt haben
Bevor Sie dieses Attribut hinzufügen, entfernen Sie einfach das vorhandene Datenelement in der Liste. Hoffe das würde dir helfen
Informationen zur Verwendung von Datenattributen in jQuery finden Sie unter jQuery-Daten
quelle
var test = $('ul.dropdown-menu li').data('selected-item').find('a').text(); $("#nbtn").html(test);
du mich bitte wissen lassen, was ich falsch mache?Ich musste einige der oben angezeigten Javascripts in den Code "document.ready" einfügen. Sonst haben sie nicht funktioniert. Wahrscheinlich offensichtlich für viele, aber nicht für mich. Wenn Sie also testen, schauen Sie sich diese Option an.
quelle
Beispielsweise:
HTML:
Ich verwende das neue Element BtnCaption, um nur den Text der Schaltfläche zu ändern .
In
$(document).ready(function () {}
den folgenden Text einfügenJavaScript:
:not(.disabled)
Erlaube nicht, die deaktivierten Menüpunkte zu verwendenquelle