如何使用从ajax生成的jQuery修改html元素?

时间:2015-01-29 16:04:13

标签: jquery html ajax

我有一个文本字段,如果用户在其中键入内容,我想用ajax显示名称的建议,然后用户将选择将在文本字段中设置的任何名称,然后用户可以提交表单.....

<form>
    <input type="text" id="name" name="name" value="" />
    <input type="submit" value="Submit" />
</form>

这里是表单....猜测从ajax获取响应后我在div中显示了建议然后如果用户选择/单击任何名称,该名称将在文本字段的值中....但是问题是当我显示名称然后我无法使用jQuery访问它....任何帮助??

<div class="ajax-response">
    <p>Name 1</p>
    <p>Name 2</p>
    <p>Name 3</p>
    more like this.........
</div>

2 个答案:

答案 0 :(得分:1)

你有一个带有ajax-response类的div元素,其中包含一系列p元素,这些元素的文字就是你的名字。最简单的解决方案是将事件处理程序委托给div.ajax-response中的p元素,如下所示:

$('div.ajax-response').on('click', 'p', function(e) {
    // one of your names was clicked on
    $('#name').val($(this).text()); // set the value of your #name input to be the text of the clicked element
});

请注意,这需要在页面上始终存在相同的.ajax-response元素,并且需要在DOM中存在该元素时调用代码(例如,从DOM就绪处理程序)。 / p>

答案 1 :(得分:0)

是的,你可以。将响应添加到文档后,您可以执行以下操作:

$('.ajax-response p').click(function(ev) {
    var clickedEl = $(ev.currentTarget); 
    // do stuff
});