我有一个文本字段,如果用户在其中键入内容,我想用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>
答案 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
});