使用Ajax / jQuery自定义自动完成

时间:2016-03-08 11:51:34

标签: php jquery ajax

我在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);
    });
});

2 个答案:

答案 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事件,为元素提供类名,然后将您的事件与该类绑定