2014-10-07 79 views
0

我有一個下拉菜單,其中包含通過Jade模板動態生成的值。當點擊下拉菜單項中的一個,我想下拉頭文字更新到選定的,像這樣的菜單項的文本值:在jQuery中操作動態元素

-Select an item:- 
    - Item 1 
    - Item 2 
    - Item 3 

[somebody clicks on item 3...]---> 

-Item 3:- 
    - Item 1 
    - Item 2 
    - Item 3 

這裏是我的代碼:

$('.selectShow').click(function() { 
    console.log($(this).text); 
    $('#showSelectDropdown').text($(this).text); 
}); 

的控制檯會得到一個奇怪的未定義的JSON對象,如果我將第三行更改爲類似$(#showSelectDropdown).text('hello!');這樣的工作,所以我假設它是動態生成值這一事實的一些問題(雖然我不清楚爲什麼這是一個問題因爲我使用的是jquery,整個事情被包裝在一個(document).ready。我發現了一個類似的stackOverflow thread,建議使用.on('click)...選擇器的事件委派,但我仍然得到相同的結果。我有點難住。任何建議感激!

回答

3

通過.text()更換.text

$('.selectShow').click(function() { 
    console.log($(this).text()); 
    $('#showSelectDropdown').text($(this).text()); 
}); 

See the full .text() documentation

+0

Dangit你太快了。 – 2014-10-07 15:52:50

+1

@JoeFrambach 2+分鐘。這太長了:) – Regent 2014-10-07 15:53:21

+1

哇,多麼疏忽。非常感謝! – wkd 2014-10-07 16:14:55