background image

利用 PHP+JS 实现搜索自动提示(实例)

我觉得我有必要写这个教程,因为曾经见到的大部分关于自动完成的应用程序都只

是给你一个程序源码包,然后告诉你怎么使用,而不是告诉你它是如何工作的以及为什
么这样做。而知道这些可以让你对这个插件可以进一步的按自己的需求定制。

JavaScript

 

代码 :

   

 

复制代码 代码如下:

<script src="jquery-1.2.1.pack.js" type="text/javascript"></script>
<script type="text/javascript">
function lookup(inputString) {
    if(inputString.length == 0) {
        // Hide the suggestion box.
        $(‘#suggestions').hide();
    } else {
        $.post("rpc.php", {queryString: ""+inputString+""}, function(data){
            if(data.length >0) {
                $(‘#suggestions').show();
                $(‘#autoSuggestionsList').html(data);
            }
        });
    }
} // lookup
function fill(thisValue) {
    $(‘#inputString').val(thisValue);
   $(‘#suggestions').hide();
}
</script>

JS 的解释:
 好,从上面的代码看到,我们需要连接到一个叫做 rpc.php 的文件,这个文件处理

所有的操作。

lookup 函数使用从文本输入框中得到的单词然后使用 jQuery 中 Ajax 的方法 POST

把它传给 rpc.php。

 ‘

如果输入字符 inputString' ‘

是 0'(Zero,译注:在这里是指在搜索框中没输入任

何内容),建议框就被隐藏,这也很人性化,你想,如果在搜索框中没有输入任何东西 ,
你也不期望会出现个建议提示框。

 ‘

如果输入框中有内容,我们就得到了这个 inputString'并传递给 rpc.php 页面,然

后 jQuery 的$.post()函数被使用,如下:

$.post(url, [data], [callback])
‘callback'部分可以关联一个函数,这个比较有意思,只有在数据(data)被加载

成功的时候才会执行(译注:此处为意译,没看懂原文:<).

如果返回的数据(data)不为空(也就是说,有东西要显示),那就显示搜索提示

框并且使用返回的数据(data)来代替其中的 html 代码。