我直接在HTML中填写了一些" ul"
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Kennzahl
<span class="caret"></span></button>
<ul class="dropdown-menu" id="measure">
<li><a href="#">volume</a></li>
<li><a href="#">netSentiment</a></li>
<li><a href="#">authors</a></li>
</ul>
并且通过
读取所选值没有任何问题$('#measure li').on('click', function(){
$(this).text();
});
然后我试图从&#34; ul&#34;中获取所选的值。我用JavaScript填充:
像
这样的东西$('#projectId').append('<li><a href="#">' + projects[i].name + '</a></li>');
选择用&#34; li&#34; s填充。但是当我选择一个时,结果并没有被我可以使用的&#34; li&#34;直接填写HTML。
答案 0 :(得分:0)
在页面加载后动态添加新元素时,需要将事件委托给父元素。您几乎完成了此操作,只需将代码更改为
即可$('#measure').on('click','li', function(){
$(this).text();
});
请注意,此处的方法不会执行任何操作 - 但我保持代码与您的示例非常接近。也许你的意思是console.log($(this).text());
答案 1 :(得分:0)
您需要的是动态创建元素的绑定
$('#measure').on('click', 'li', function(){
alert($(this).text());
});
$('#measure').append('<li><a href="#">abc</a></li>');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="caret"></span></button>
<ul class="dropdown-menu" id="measure">
<li><a href="#">volume</a></li>
<li><a href="#">netSentiment</a></li>
<li><a href="#">authors</a></li>
</ul>
&#13;
这里我使用jquery创建了abc li,但仍然点击它,它就像其他li一样发出警告。