使用PHP自动完成

时间:2012-01-30 14:20:04

标签: php jquery autocomplete

我的HTML代码:

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jqueryui.js"></script>
    <script>
        $( "#tags" ).autocomplete({
        url: 'Ajax.php?txt='        
        });
    </script>
</head>
<body>
<div class="demo">
<div class="ui-widget">
    <label for="tags">Tags: </label>
    <input id="tags" name="txt" />
</div>
</div>
</body>
</html>

这是我的Ajax.php

<? 
    $val = $_REQUEST["txt"];
    if($val == "251") { echo "its WoooW";}
    else 
    echo "Nothing found";
?>

但它不适用于自动完成。 我的错是什么?

2 个答案:

答案 0 :(得分:1)

您应该检查文档。 URL属性不可用,但它是源属性:

docs:http://jqueryui.com/demos/autocomplete/#option-source

实施例

        $( "#tags" ).autocomplete({
            source: 'Ajax.php'
        });

将根据您提供的链接添加查询

答案 1 :(得分:0)

你必须将你的jquery包装成这样的函数:

<script>
    $(function() {
        $( "#tags" ).autocomplete({
            source: "Ajax.php",
            minLength: 2
        });
    });
</script>

您必须从Ajax.php返回json_encoded内容(示例) 它在文件中说明:

  

当使用String(例如不是set数组)时,Autocomplete插件需要该字符串   指向将返回JSON数据的URL资源。它可以在   相同的主机或不同的主机(必须提供JSONP)。请求   参数“term”被添加到该URL。

<?php
$val = $_REQUEST["term"];

if($val == "251") { 
    $return="its WoooW 251";
}elseif($val == "123"){
    $return="its WoooW 123";
}else{
    $return="Nothing Found";
}

echo json_encode($return);
?>