如何将jQuery自动完成与POST查询连接到远程数据源?

时间:2013-02-21 14:41:12

标签: jquery jquery-ui autocomplete jquery-autocomplete jquery-ui-autocomplete

我正在尝试使用POST查询将文本字段与远程数据源连接到jQuery UI的自动完成。到目前为止,我有这个:

$( "#booking_student" ).autocomplete({
            source: function( request, respond ) {
                $.post( "/path/to/my/api.php", { student: request.term },
                        function( response ) {
                            //do something
                        } );
            }
        });

使用Firebug我可以看到我的API返回了我期望的结果,但是没有出现自动完成下拉列表。将结果插入自动完成下拉列表我需要做什么?我是否需要使用JSON结果填充// do something部分中的变量或?

1 个答案:

答案 0 :(得分:9)

您需要将结果提供给小部件为您提供的respond回调:

$( "#booking_student" ).autocomplete({
    source: function( request, respond ) {
        $.post( "/path/to/my/api.php", { student: request.term },
            function( response ) {
                respond(response);
        });
    }
});

这当然假设您的数据是一个数组,其中的项目包含label属性,value属性或两者。这在documentation for the source option

中列出