javascript搜索自動提示功能的實現(xiàn)第1/3頁
更新時間:2008年06月04日 23:08:08 作者:
使用 jQuery(Ajax)/PHP/MySQL實現(xiàn)自動完成功我覺得我有必要寫這個教程,因為曾經(jīng)見到的大部分關(guān)于自動完成的應(yīng)用程序都只是給你一個程序源碼包,然后告訴你怎么使用,而不是告訴你它是如何工作的以及為什么這樣做。
使用 jQuery(Ajax)/PHP/MySQL實現(xiàn)自動完成功能
一如往常,demo和源碼的zip包在文章最后,慢慢欣賞吧!
我覺得我有必要寫這個教程,因為曾經(jīng)見到的大部分關(guān)于自動完成的應(yīng)用程序都只是給你一個程序源碼包,然后告訴你怎么使用,而不是告訴你它是如何工作的以及為什么這樣做。而知道這些可以讓你對這個插件可以進一步的按自己的需求定制(關(guān)于這一點我在我的blog里寫過不少關(guān)于其他應(yīng)用的文章)。

好,我們現(xiàn)在開始。
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函數(shù)使用從文本輸入框中得到的單詞然后使用jQuery中Ajax的方法POST把它傳給rpc.php。
如果輸入字符 ‘inputString'是‘0'(Zero,譯注:在這里是指在搜索框中沒輸入任何內(nèi)容),建議框就被隱藏,這也很人性化,你想,如果在搜索框中沒有輸入任何東西,你也不期望會出現(xiàn)個建議提示框。
如果輸入框中有內(nèi)容,我們就得到了這個 ‘inputString'并傳遞給rpc.php頁面,然后jQuery 的$.post()函數(shù)被使用,如下:
$.post(url, [data], [callback])
‘callback'部分可以關(guān)聯(lián)一個函數(shù),這個比較有意思,只有在數(shù)據(jù)(data)被加載成功的時候才會執(zhí)行(譯注:此處為意譯,沒看懂原文:<).
如果返回的數(shù)據(jù)(data)不為空(也就是說,有東西要顯示),那就顯示搜索提示框并且使用返回的數(shù)據(jù)(data)來代替其中的html代碼。
就這么簡單!
一如往常,demo和源碼的zip包在文章最后,慢慢欣賞吧!
我覺得我有必要寫這個教程,因為曾經(jīng)見到的大部分關(guān)于自動完成的應(yīng)用程序都只是給你一個程序源碼包,然后告訴你怎么使用,而不是告訴你它是如何工作的以及為什么這樣做。而知道這些可以讓你對這個插件可以進一步的按自己的需求定制(關(guān)于這一點我在我的blog里寫過不少關(guān)于其他應(yīng)用的文章)。

好,我們現(xiàn)在開始。
JavaScript代碼:
復(fù)制代碼 代碼如下:
<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函數(shù)使用從文本輸入框中得到的單詞然后使用jQuery中Ajax的方法POST把它傳給rpc.php。
如果輸入字符 ‘inputString'是‘0'(Zero,譯注:在這里是指在搜索框中沒輸入任何內(nèi)容),建議框就被隱藏,這也很人性化,你想,如果在搜索框中沒有輸入任何東西,你也不期望會出現(xiàn)個建議提示框。
如果輸入框中有內(nèi)容,我們就得到了這個 ‘inputString'并傳遞給rpc.php頁面,然后jQuery 的$.post()函數(shù)被使用,如下:
$.post(url, [data], [callback])
‘callback'部分可以關(guān)聯(lián)一個函數(shù),這個比較有意思,只有在數(shù)據(jù)(data)被加載成功的時候才會執(zhí)行(譯注:此處為意譯,沒看懂原文:<).
如果返回的數(shù)據(jù)(data)不為空(也就是說,有東西要顯示),那就顯示搜索提示框并且使用返回的數(shù)據(jù)(data)來代替其中的html代碼。
就這么簡單!
您可能感興趣的文章:
- JavaScript正則方法replace實現(xiàn)搜索關(guān)鍵字高亮顯示
- JavaScript實現(xiàn)的搜索及高亮顯示功能示例
- Angularjs實現(xiàn)搜索關(guān)鍵字高亮顯示效果
- 用JS將搜索的關(guān)鍵字高亮顯示實現(xiàn)代碼
- JS仿百度搜索自動提示框匹配查詢功能
- js實現(xiàn)搜索框關(guān)鍵字智能匹配代碼
- JS實現(xiàn)表格數(shù)據(jù)各種搜索功能的方法
- 可以用來搜索當(dāng)前頁面內(nèi)容的js代碼
- javascript 關(guān)鍵字高亮顯示實現(xiàn)代碼
- JS實現(xiàn)靜態(tài)頁面搜索并高亮顯示功能完整示例
相關(guān)文章
js jquery ajax的幾種用法總結(jié)(及優(yōu)缺點介紹)
本篇文章只要介紹了js jquery ajax的幾種用法總結(jié)(及優(yōu)缺點介紹),需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01
JavaScript 字符串處理函數(shù)使用小結(jié)
JavaScript 字符串處理函數(shù)使用小結(jié),學(xué)習(xí)js的朋友可以參考下。2010-12-12

