如何通过点击<元素
how to pass value to javascript through clicking <li> element
我有以下无序列表,它是通过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>
我可以通过css中的鼠标事件悬停在这些上面,代码如下
li:hover {background: #ccc; cursor: pointer;}
填充<li>
的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);}
但是我想通过点击<li>
元素时,通过Javascript或JQuery将<li>
元素中的Product Name传递给另一个输入元素。我该怎么做呢?
既然我看到你是使用jQuery,你可以绑定ul的"click"事件,像这样:
$("#here").on("click", "li", function(evt) {
$("#your_Input_Id").val(evt.target.innerHTML);
});
示例:jsfiddle: https://jsfiddle.net/bkbtert9/
由于li是动态创建的,因此您需要使用事件委托,因为<li>
在执行代码时不会在dom上。这个示例代码应该适合您。试一试:
var clickLiData = "";
$("#here").on("click","li",function()
{
clickLiData = $(this).html();
})
假设目标输入为文本。
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
<input type="text" name="text" id="text">
所以这是想要的结果的javascript。
$("li").click(function() {
$item = $(this).html();
$("#text").val($item);
});
相关文章:
- 如何使用jquery处理php循环通过元素
- 为什么在这个网站上不能通过JS访问元素
- 通过id和class属性获取元素
- 如何通过溢出来判断元素被切断了多少像素:隐藏在父级上
- Vanilla JS通过引用移除数组元素
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- 使用JavaScript,如何获得具有特定className的元素's通过使用getElementByClass
- .map-find元素一旦通过AJAX加载
- angular元素在通过ng类添加类时不起作用
- 我怎么知道什么元素是通过jquery拖进来的
- 元素在通过单击链接隐藏后重新出现(需要不包含返回 false 或 preventDefault 的解决方案)
- 将类添加到元素时通过过渡对 CSS 进行动画处理
- 允许 Raphael/SVG 元素事件通过顶部分层的 HTML 触发
- 逐渐降低不透明度,因为元素是通过jQuery UI .draggable()拖动的
- 在另一个元素中通过Javascript中的名称获取深层元素
- 找出一个元素是否通过JavaScript隐藏
- DOM中的新SVG元素,通过JavaScript添加,直到鼠标up才呈现
- 如何更改输入元素'通过jquery的可见性
- 如何检索元素'通过其“;值”;
- 使Javascript数组元素可通过附加键访问