我在Ajax,jQuery的帮助下创建了自定义自动完成功能,并且我已经硬编码了一个用PHP创建的数据库,因为我得到了正确的输出。但是,当我点击自动填充框中的任何文本时,它都不会被选中。
$(document).ready(function () {
$("#search_Textbox").keyup(function () {
var searchbox_Value = $("#search_Textbox").val();
$("#serach_Result").show();
if ($("#search_Textbox").val() == null || ($("#search_Textbox").val() == "")) {
$("#serach_Result").hide();
}
$.ajax({
url: "custom_database.php",
type: "GET",
data: {
text_Value: searchbox_Value
},
success: function (server_Response) {
$("#serach_Result").html(server_Response);
}
});
});
$('a').bind('click', function () {
alert("yes");
var achor_tag_text = $(this).val();
alert(achor_tag_text);
$("#search_Textbox").text(achor_tag_text);
});
});
答案 0 :(得分:1)
您绑定到页面初始加载时出现的<a>
标记,而不是ajax返回时出现的标记。
将您的$('a').bind('click', function() {
更改为$(document).on('click', 'a', function() {
。
答案 1 :(得分:1)
您可以使用.on()
功能,更可取自 jquery 1.7
$(document).on('click','a', function() {
alert("yes");
//do your stuff
var achor_tag_text = $(this).val();
alert(achor_tag_text);
$("#search_Textbox").text(achor_tag_text);
});
但不要将公共元素绑定到click事件,为元素提供类名,然后将您的事件与该类绑定