4

我正在尝试使用 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 返回了我期望的结果,但没有出现自动完成下拉菜单。我需要做什么才能将我的结果插入到自动完成下拉列表中?我是否需要在 //do something 部分中使用 JSON 结果填充变量?

4

1 回答 1

9

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

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

这当然假设您的数据是一个数组,其中包含一个label属性、一个value属性或两者的项。该选项的文档中source对此进行了概述。

于 2013-02-21T14:42:37.673 回答