2013-11-01 22 views
13

Ich brauche den Wert ein Benutzer von einem Twitter Bootstrap-Drop-Down zu erhalten. Sobald der Benutzer einen Wert auswählt, möchte ich das Dropdown-Menü diesen Wert anzeigen lassen. So wählt der Benutzer ‚anhängig‘ dann habe ich den ausgewählten Drop-Down-Wert von dem ändern möchten, und, wenn der Benutzer das Formular ausfüllt, ich möchte den gewählten Wert abzurufen. Könnte mir jemand in die richtige Richtung zeigen?Twitter Bootstrap: Wie bekomme ich den ausgewählten Wert von Dropdown?

<div class="btn-group"> 
    <i class="dropdown-arrow dropdown-arrow-inverse"></i> 
    <button class="btn btn-primary">status</button> 
    <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown"> 
    <span class="caret"></span> 
    </button> 
    <ul class="dropdown-menu dropdown-inverse"> 
    <li><a href="#fakelink">pending</a></li> 
    <li><a href="#fakelink">active</a></li> 
    <li><a href="#fakelink">discontinued</a></li> 
    </ul> 
</div> 

Danke, Matt

+0

Ist die Antwort unter dem, was Sie suchen? – PSL

+0

Ja. Die zwei Antworten zusammen sind ziemlich genau das, was ich brauche. Ich muss vielleicht eine Folge fragen, wie man eine der Lis als aktiv einstellt ... –

Antwort

15

Bootstrap liefert Ihnen mindestens erforderliche Funktionalität für Ihre Implementierung, sie sind nicht Dropdown-Listen statt sie sind nur ul, li mit CSS auf sie angewendet und einige in der Bootstrap registrierten Ereignisse Plugin zum Umschalten der Schaltfläche, um sie als Dropdown anzuzeigen. Diesen musst du alleine machen.

eine Kennung an die Statustaste sagt einen Klassennamen btnStatus und bindet ein Click-Ereignis auf die Drop-Down-Links einrichten. und so etwas tun?

$('.dropdown-inverse li > a').click(function(e){ 
    $('.btnStatus').text(this.innerHTML); 
}); 

Demo

2

Sie können dies versuchen:

u Klasse oder ID für Wähler einfacher, das Element auswählen können. zur Verwendung der Wert auch u kann die value in u Javascript mit jQuery verwenden.

$().ready(function(){ 
     $('a').click(function(){ 
      var value = $(this).text(); 
      alert(value); 
     }); 
    }); 

Demo: http://jsfiddle.net/mr_mohsen_rasouli/A8m39/

10

Ich hatte das gleiche Problem. Die Lösung ist ziemlich einfach und ich denke, dass die obigen Antworten etwas zu kompliziert sind.

Gerade $ (this) .text()

Vergeben Sie einen Klassennamen auf "" Bit verwenden dann ..

$(".yourUlClassName li a").click(function() { 
    var yourText = $(this).text(); 
}); 
+0

Danke. Das war für mich – mark1234

+1

Dies wird auf Touch-Geräte nicht funktionieren, weil sie ein '.dropdown-backdrop' Overlay werden, die alle Klickereignisse auffängt und verhindern die weitere Ausführung mit' Rückkehr false'. –

0

Versuchen Sie, wie diese -

$(document.body).on('click', '.dropdown-menu li a', function (e) { 
    alert($(this).text()); 
}); 

Demo - Fiddle

Verwandte Themen