Javascript 获取动态创建的LI元素的内部值

Javascript 获取动态创建的LI元素的内部值,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试创建搜索建议列表。为此,我使用append函数动态创建了列表。出于搜索目的,我将数据搜索项属性和li元素的innerHTML值设置为相同。现在我需要的是,当用户单击任何li元素时,搜索字段应该获得innerHTML值。谷歌搜索就是这样。我曾尝试使用事件委派来获取单击的元素,但它不起作用。下面的函数只是用于检查事件委派是否有效,但我的网页上没有弹出窗口 $("#suggestions").on("click", "a", function() { confirm("clicked

我正在尝试创建搜索建议列表。为此,我使用append函数动态创建了列表。出于搜索目的,我将
数据搜索项
属性和
li
元素的
innerHTML
值设置为相同。现在我需要的是,当用户单击任何
li
元素时,搜索字段应该获得
innerHTML
值。谷歌搜索就是这样。我曾尝试使用事件委派来获取单击的元素,但它不起作用。下面的函数只是用于检查事件委派是否有效,但我的网页上没有弹出窗口

$("#suggestions").on("click", "a", function() {
    confirm("clicked");
});
搜索建议列表具有一个id“建议”

这是我的搜索字段,所选元素的值需要转到该字段

<input class="form-control" name="query" type="text" placeholder="Offer" />

这里还有创建列表的代码

var searchitems = ["item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8"];

var len = searchitems.length;
var i;
for (i = 0; i < len; i++) {
    $('#suggestions').append('<li class="suggestItem">' + '<a>' + searchitems[i] + '</a>' + '</li>');
}
var searchitems=[“项目1”、“项目2”、“项目3”、“项目4”、“项目5”、“项目6”、“项目7”、“项目8”];
var len=searchitems.length;
var i;
对于(i=0;i”+”+searchitems[i]+”+””);
}

您需要侦听
单击
上的
事件。suggestItem
元素,而不是由
#suggestions
表示的整个列表。看看下面的例子

$(“.suggestItem”)。在(“单击”,“a”,函数(e){
e、 预防默认值();
$('#所选项目').val($(this.text());
});


搜索框html在哪里?发布要使用的完整代码。。图片和所有内容都没有多大帮助。你想要像谷歌这样的自动完成搜索框和你的数据库吗?是的,Vikas。与之类似。尝试过这个,但不起作用。仅供参考(如有必要),我的代码中的列表是动态生成的。给你。var searchitems=[“项目1”、“项目2”、“项目3”、“项目4”、“项目5”、“项目6”、“项目7”、“项目8”];var len=searchitems.length;var i;对于(i=0;i'++'+searchitems[i]++'');}@kiranghule27如果设置了
display:none,您如何单击
li
到它。@kiranghule27如果您将生成列表项的JS代码插入到我的代码段中,它仍然有效。我假设
显示:none
是您的问题(正如@krsoni已经提到的)@RamisWachtler好的。“我会调查的。”RamisWachtler我也试着用JS fiddle运行我的代码片段。它在那里工作。我不明白问题出在哪里。