ajax Suggest類似google的搜尋提示效果
來源:互聯網
上載者:User
實現:
<script type="text/javascript" src="/path/to/SuggestFramework.js"></script>
<script type="text/javascript">window.onload = initializeSuggestFramework;</script>
有了上面兩句後,每個取了名的文字框會多出五個屬性:
1.action 必須。接受 GET 方式提交的資料,並返回相關 Javascript 數組的動態網頁。
2.capture 如果返回的結果不止一列(比如本例中的單詞和中文意思),將要替換使用者輸入的那一列(從 1 開始算)。通常這個和資料庫欄位相對應。
可選,預設為 1.
3.columns 下拉顯示的列數,比如本例中,按字母查詢單詞,並將中文意思顯示在右側。可選,預設為 1.
4.delay 查詢延時,單位為毫秒。較低的延時會得到更快的反應,但會加重伺服器負擔。可選,預設為 1000(1秒)。
5.heading 如果設為 true ,第一個數組值將作為不可選擇項(標題列)。當有兩列或兩列以上資料時非常有用。可選,預設為 false.
資料提交只需要兩個資料
1.type 輸入框的name
2.q 搜尋索引鍵(預設UTF-8編碼)
您下載的壓縮包中,已經包含php和ColdFusion樣本,當然這個架構可以適用於所有的程式設計語言,無平台限制。後台資料輸出就是一條 Javascript 語句。一維數組這麼寫:
new Array(”val1″, “val2″, “val3″);
二維數組這麼寫:
new Array(
new Array(”第1行條第1列”, “第1行第2列”),
new Array(”第2行條第1列”, “第1行條第2列”),
new Array(”第3行條第1列”, “第1行條第2列”)
);
最後介紹一下,css中需要定義的4個類
.SuggestFramework_List 提示內容所在地區
.SuggestFramework_Heading 第一條提示
.SuggestFramework_Highlighted 設定高亮的一條提示
.SuggestFramework_Normal 其他提示
http://xiazai.jb51.net/200903/yuanma/SuggestFramework-0.31.zip