0

我正在使用 jQuery 自动完成功能,并希望从名为some.php的 php 文件中检索数据,其中仅写入

<?php
echo "Hello World";
?>

这是javascript

<script type="text/javascript">
$(function(){
    $("#key").autocomplete({
        source: function(){
            $.ajax({
                type: "POST",
                url: "./some.php",
                data: {key: $("#key").val()},
                success: function(result){
                    // what code is needed here to be placed
                }
            });
        }
    });
});
</script>

顺便说一下 html =>

<input type="text" name="key" id="key">

我认为脚本编写正确,因为当我在成功函数警报(结果)中编写时,它得到“Hello world”,但我希望它在下拉框中,如何解决这个问题,请帮助我,谢谢: )

4

2 回答 2

2
$("#key").autocomplete({
    source: function(request, response){
        $.ajax({
            type: "POST",
            url: "./some.php",
            data: {key: request.term},
            success: function(result){

                response(result);
            }
        });
    }
});

response(result)将显示自动完成菜单——result应该是一个项目数组(其中每个项目是一个字符串或一个带有valuelabel键的对象)。

正如 SJ GJ 所提到的,您可以简单地设置source: "./some.php",但some.php需要进行修改以接受请求参数term并返回一个 json 项目数组。

于 2012-08-02T20:57:12.677 回答
1

尝试这个:

JS:

<script type="text/javascript">
$(function(){
    $("#key").autocomplete({
        source: "./some.php"
    });
});
</script>

PHP:

$result = array('1' => 'Hello World');

echo json_encode($result);
于 2012-08-02T20:57:03.957 回答