如何通过单击元素将值传递给javascript
我有以下无序列表,它是通过JQuery.ajax从数据库中动态填充的,其中有一些列表项是产品的名称如何通过单击元素将值传递给javascript,javascript,jquery,html,html-lists,mouseevent,Javascript,Jquery,Html,Html Lists,Mouseevent,我有以下无序列表,它是通过JQuery.ajax从数据库中动态填充的,其中有一些列表项是产品的名称 <ul id="here"> <li>Product 1</li> <li>Product 1</li> <li>Product 1</li> <li>Product 1</li> <li>Product 1</li> </ul> 用于填充的javasc
<ul id="here">
<li>Product 1</li>
<li>Product 1</li>
<li>Product 1</li>
<li>Product 1</li>
<li>Product 1</li>
</ul>
用于填充的javascript代码如下所示:
var pr= [Product1, Product2, Product3, Product4, Product5];
for (var option in pr){
var newLi = document.createElement("li");
newLi.innerHTML=pr[option];
$("#here").append(newLi);}
但我想在单击另一个输入元素时,通过Javascript或JQuery将该元素内部的产品名传递给该元素。我如何才能做到这一点?因为li是动态创建的,所以在执行代码时,您需要使用事件委派,而不是dom上的委派。这个示例代码应该适合您。试试看:
var clickLiData = "";
$("#here").on("click","li",function()
{
clickLiData = $(this).html();
})
因为我看到您正在使用jQuery,所以可以像这样绑定ul的click事件:
$("#here").on("click", "li", function(evt) {
$("#your_Input_Id").val(evt.target.innerHTML);
});
JSFIDLE的示例:假设目标输入是文本
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
<input type="text" name="text" id="text">
显示你的js代码?@Fast Snail上面已经分享了js代码。
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
<input type="text" name="text" id="text">
$("li").click(function() {
$item = $(this).html();
$("#text").val($item);
});