我有一个下拉菜单,其中包含通过Jade模板动态生成的值。当单击其中一个下拉菜单项时,我希望下拉标题文本更新为所选菜单项的文本值,如下所示:
-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)...
选择器使用事件委托,但我仍然得到相同的结果。我很难过。任何建议都值得赞赏!
答案 0 :(得分:3)
将.text
替换为.text()
:
$('.selectShow').click(function() {
console.log($(this).text());
$('#showSelectDropdown').text($(this).text());
});