单击链接时填充输入字段

时间:2014-03-26 02:06:53

标签: javascript jquery

我试图点击链接来填充输入字段,因为" p class ="标记""嵌套在所有那些" div"标签我可以让它工作。蚂蚁想法我怎么能这样做?

<script type="text/javascript">

$('p.tag').live('click', function(e){
$('#tag').val(this.innerHTML);
return false;  
});

<html>
<tr>
<td align="left" width="100%" colspan="0">&nbsp;
<div class="my_list">
<div class="list">
<div id="list-wrapper">
<p class="tag">&nbsp;&nbsp;Name 1</p>
<p class="tag">&nbsp;&nbsp;Name 2</p>
<p class="tag">&nbsp;&nbsp;Name 3</p>
<p class="tag">&nbsp;&nbsp;Name 4</p>
  <p class="tag">&nbsp;&nbsp;Name 5</p>   
</div>
</div>
<div class="showme">&nbsp;&nbsp;
<a class="color" href='' title='Show App' name="all">
 Show 
</a>
</div>
</div>
</td>
</tr>

<tr>
<td><input id="tag" type="text" name="name" value=""></td>
</tr>

</html>

谢谢!

1 个答案:

答案 0 :(得分:0)

您的HTML无效,您需要将代码包装在<table>内,因为<tr><td>必须留在<table>

其次,您应该使用 .on() 而不是.live(),因为来自 upgrade guide

  

自jQuery 1.7以来,.live()方法已被弃用   在1.9中删除。我们建议升级代码以使用.on()方法   代替。

$('p.tag').on('click', function (e) {
    $('#tag').val(this.innerHTML);
    return false;
});

<强> Updated Fiddle


如果您的段落是动态添加的,那么您可以使用 event delegation

$('body').on("click", "p.tag", function(){
    $('#tag').val(this.innerHTML);
    return false;
});