从自动完成中获取jquery ajax的结果

时间:2012-08-02 20:46:21

标签: php jquery ajax

我正在使用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顺便说一句=&gt;

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

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

2 个答案:

答案 0 :(得分: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数组项。

答案 1 :(得分:1)

试试这个:

<强> JS:

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

<强> PHP:

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

echo json_encode($result);