仿google搜索提示 SuggestFramework的使用
Suggest Framework 故名思意,就是仿 Google Suggest 的一個(gè)小框架,讓你的文本框也有提示功能。利用suggest framework你可以在自己的網(wǎng)站上很輕松實(shí)現(xiàn)“輸入提示”效果,這種效果會(huì)很大程度上提高用戶體驗(yàn),提高搜索效率。
一個(gè)頁(yè)面上可以出現(xiàn)多個(gè)搜索框,每個(gè)搜索框都可以實(shí)現(xiàn)單獨(dú)配置。
此框架無(wú)瀏覽器限制,基本兼容當(dāng)前的絕大多數(shù)瀏覽器,包括Internet Explorer 5+ (Win/Mac)、Firefox (Win/Mac)、Opera 8+等等。
二.下面來(lái)介紹一下怎么安裝
你只需要復(fù)制SuggestFramework.js到你的服務(wù)器,然后自定義提示效果的css樣式,實(shí)現(xiàn)個(gè)性的搜索提示。
而css樣式文件,需要你自己做好,并且加入到每一個(gè)頁(yè)面。
補(bǔ)充:SuggestFramework.js已經(jīng)試用Dojo ShrinkSafe進(jìn)行壓縮,具體請(qǐng)看http://alex.dojotoolkit.org/shrinksafe/
三.然后介紹一下如何使用
在網(wǎng)頁(yè)的<head></head>標(biāo)簽中,加入下面兩句:
<script type="text/javascript" src="/path/to/SuggestFramework.js"></script>
<script type="text/javascript">window.onload = initializeSuggestFramework;</script>
有了上面兩句后,每個(gè)取了名的文本框會(huì)多出五個(gè)屬性:
1.action 必須。接受 GET 方式提交的數(shù)據(jù),并返回相關(guān) Javascript 數(shù)組的動(dòng)態(tài)頁(yè)。
2.capture 如果返回的結(jié)果不止一列(比如本例中的單詞和中文意思),將要替換用戶輸入的那一列(從 1 開(kāi)始算)。通常這個(gè)和數(shù)據(jù)庫(kù)字段相對(duì)應(yīng)。
可選,默認(rèn)為 1.
3.columns 下拉顯示的列數(shù),比如本例中,按字母查詢單詞,并將中文意思顯示在右側(cè)??蛇x,默認(rèn)為 1.
4.delay 查詢延時(shí),單位為毫秒。較低的延時(shí)會(huì)得到更快的反應(yīng),但會(huì)加重服務(wù)器負(fù)擔(dān)??蛇x,默認(rèn)為 1000(1秒)。
5.heading 如果設(shè)為 true ,第一個(gè)數(shù)組值將作為不可選擇項(xiàng)(標(biāo)題欄)。當(dāng)有兩列或兩列以上數(shù)據(jù)時(shí)非常有用。可選,默認(rèn)為 false.
數(shù)據(jù)提交只需要兩個(gè)數(shù)據(jù)
1.type 輸入框的name
2.q 搜索關(guān)鍵字(默認(rèn)UTF-8編碼)
您下載的壓縮包中,已經(jīng)包含php和ColdFusion示例,當(dāng)然這個(gè)框架可以適用于所有的編程語(yǔ)言,無(wú)平臺(tái)限制。后臺(tái)數(shù)據(jù)輸出就是一條 Javascript 語(yǔ)句。一維數(shù)組這么寫(xiě):
new Array(”val1″, “val2″, “val3″);
二維數(shù)組這么寫(xiě):
new Array(
new Array(”第1行條第1列”, “第1行第2列”),
new Array(”第2行條第1列”, “第1行條第2列”),
new Array(”第3行條第1列”, “第1行條第2列”)
);
最后介紹一下,css中需要定義的4個(gè)類
.SuggestFramework_List 提示內(nèi)容所在區(qū)域
.SuggestFramework_Heading 第一條提示
.SuggestFramework_Highlighted 設(shè)置高亮的一條提示
.SuggestFramework_Normal 其他提示
四.提示,如果出現(xiàn)亂碼或者javascript腳本錯(cuò)誤請(qǐng)用下面方法解決。
1. 給后臺(tái)返回?cái)?shù)據(jù)的頁(yè)面(例如display.asp) 添加一個(gè) GB2312 轉(zhuǎn) UTF-8 的函數(shù),使用此函數(shù)把數(shù)據(jù)庫(kù)讀出來(lái)的內(nèi)容轉(zhuǎn)成 UTF-8 編碼。
2. 如果是后臺(tái)為asp頁(yè)面,代碼首行添加 <[email=%@LANGUAGE=”VBSCRIPT]%@LANGUAGE=”VBSCRIPT[/email]” CODEPAGE=”936″%> 指令。
3. 把后臺(tái)返回?cái)?shù)據(jù)的頁(yè)面(例如display.asp)文件存成 UTF-8 格式。
e文原文地址:http://sourceforge.net/project/shownotes.php?group_id=145701&release_id=399504
官方下載地址:http://sourceforge.net/project/showfiles.php?group_id=145701
- JSuggest自動(dòng)匹配下拉框使用方法(示例代碼)
- inputSuggest文本框輸入時(shí)提示、自動(dòng)完成效果(郵箱輸入自動(dòng)補(bǔ)全插件)
- javascript suggest效果 自動(dòng)完成實(shí)現(xiàn)代碼分享
- suggestion開(kāi)發(fā)小結(jié)以及對(duì)鍵盤(pán)事件的總結(jié)(針對(duì)中文輸入法狀態(tài))
- ajax Suggest類似google的搜索提示效果
- AJAX實(shí)現(xiàn)仿Google Suggest效果
- Google Suggest ;-) 基于js的動(dòng)態(tài)下拉菜單
- 有關(guān)suggest快速刪除后仍然出現(xiàn)下拉列表的bug問(wèn)題
相關(guān)文章
Ajax異步請(qǐng)求技術(shù)實(shí)例講解
ajax是一種在無(wú)需重新加載整個(gè)網(wǎng)頁(yè)的情況下,能夠更新部分網(wǎng)頁(yè)的技術(shù)。下面通過(guò)本文給大家分享Ajax異步請(qǐng)求技術(shù)實(shí)例講解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-08-08
react axios 跨域訪問(wèn)一個(gè)或多個(gè)域名問(wèn)題
這篇文章主要介紹了react axios 跨域訪問(wèn)一個(gè)或多個(gè)域名問(wèn)題,本文通過(guò)實(shí)例代碼截圖的形式給大家展示的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Ajax獲取數(shù)據(jù)然后顯示在頁(yè)面的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇Ajax獲取數(shù)據(jù)然后顯示在頁(yè)面的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
零基礎(chǔ)學(xué)習(xí)AJAX之AJAX的簡(jiǎn)介和基礎(chǔ)
本系列我們將來(lái)逐步學(xué)習(xí)ajax,作為本系列的開(kāi)篇文章,我們還是俗套些,先來(lái)講解下ajax的簡(jiǎn)介和基礎(chǔ)知識(shí)吧。2015-01-01
淺析IE針對(duì)Ajax請(qǐng)求結(jié)果的緩存問(wèn)題
我們通過(guò)一個(gè)ASP.NET MVC應(yīng)用來(lái)重現(xiàn)IE針對(duì)Ajax請(qǐng)求結(jié)果的緩存。在一個(gè)空ASP.NET MVC應(yīng)用中我們定義了如下一個(gè)默認(rèn)的HomeController,其中包含一個(gè)返回當(dāng)前時(shí)間的Action方法GetCurrentTime。2015-09-09
Ajax發(fā)送和接收二進(jìn)制字節(jié)流數(shù)據(jù)的方法
這篇文章主要介紹了Ajax發(fā)送和接收二進(jìn)制字節(jié)流數(shù)據(jù)的方法,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-05-05
ajax用json實(shí)現(xiàn)數(shù)據(jù)傳輸
本文主要介紹了ajax用json實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)姆椒?,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03
如何利用jQuery post傳遞含特殊字符的數(shù)據(jù)
在jquery中,解決數(shù)據(jù)傳遞處理的方法我們通常利用$.ajax或$.post,但是這里這里通常不能傳遞特殊字符,比如說(shuō):“<”,本文就幫大家解決如何傳遞這種含特殊字符的數(shù)據(jù),感興趣的朋友一起看下吧2015-10-10
django獲取ajax的post復(fù)雜對(duì)象的實(shí)現(xiàn)方法
這篇文章主要介紹了django獲取ajax的post復(fù)雜對(duì)象的實(shí)現(xiàn)方法,需要的朋友可以參考下2017-10-10

