2016-10-02 61 views
0

我有一個典型的自舉下拉這樣的:如何更改具有特定ID的引導程序下拉列表的值?

<div class="btn-group"> 
    <button type="button" class="btn btn-lg btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Default option<span class="caret"></span></button> 
    <ul id="my-select" class="dropdown-menu"> 
      <li data-value="10" role="presentation"><a href="#">Option 1</a></li> 
      <li data-value="20" role="presentation"><a href="#">Option 2</a></li> 
    </ul> 
</div> 

這完全適用於所有的引導Dropdowns的無特定ID:

$(".dropdown-menu li a").click(function() { 
    var selText = $(this).text(); 
    $(this).parents('.btn-group').find('.dropdown-toggle').html(selText + ' <span class="caret"></span>'); 
}); 

我的上一個ID實現這種不成功的嘗試以下操作:

var mySelect = $('#my-select'); 

mySelect.find(".li a").click(function() { 
    ... 
} 

而且

$("#my-select .li a").click(function() { 
    ... 
} 
+1

李之前刪除的點=>「李一」 –

回答

0

這應該工作:

$("#my-select li a").click(function() { 

} 

.點用於類

例如:

<button class="myClass" ...> 

$('.myClass')... 

#急劇用於IDS

<button id="myButton" ...> 

$('#myButton')... 
+0

的ID,但不要我需要點類的? – Apsed1976

+1

'li'不是你的班級,li是'HTML元素' –

0

試這樣的:

$("#myselect").click(function(){ 
... 
}); 

你並不需要指定Li或任何作爲myselect是唯一標識一個元素

+0

這應該會隨着事件的發展而起作用。但你怎麼知道哪個鏈接被點擊?您不能使用「this」關鍵字,因爲它代表myselect。 – derloopkat

+0

的確,您不能使用它,因爲這會代表我的選擇。但是,您可以使用event.target函數,該函數將爲您提供確切的點擊量,您可以點擊 '$(「#my-select」)點擊(功能(事件){ alert(event.target.innerHTML); });' innerHTML將顯示您點擊li的確切內容。或者你可以在這裏獲得li的任何其他屬性,如id或nodename或class等。 –

相關問題