好吧,所以我想要一個自動完成下拉鍊接按鈕作爲選擇。因此,用戶將光標置於「文本框」中,並與選項列表進行匹配。他們可以開始打字以縮小列表的範圍,或者選擇列表中的一個選項。只要他們點擊(或按下輸入),該鏈接的數據集將被選擇過濾。自動完成下拉與Linkbuttons - 或「AJAX不見了」
好的,這是否就像在一個下拉列表中包裝AJAX自動完成一樣簡單?沒有? (請?)
好吧,所以我想要一個自動完成下拉鍊接按鈕作爲選擇。因此,用戶將光標置於「文本框」中,並與選項列表進行匹配。他們可以開始打字以縮小列表的範圍,或者選擇列表中的一個選項。只要他們點擊(或按下輸入),該鏈接的數據集將被選擇過濾。自動完成下拉與Linkbuttons - 或「AJAX不見了」
好的,這是否就像在一個下拉列表中包裝AJAX自動完成一樣簡單?沒有? (請?)
這個小部件可以由三個項目組成:一個文本輸入,按鈕輸入和一個無序列表來保存結果。上示出
__________ _
|__________||v|__ <-- text and button
| | <-- ul (styled to appear relative to text input)
| |
| |
|______________|
UL:
UL隱藏在:
當該UI被顯示或文本輸入的「使用keyUp」事件被觸發AJAX調用服務器的需求列表項
成功的結果應該放在ul中。當創建列表項時,他們應該有一個附加在它們上的'click'事件,它設置文本輸入值並隱藏ul(可能需要在li中添加一個鏈接來附加事件)。
最難的部分實際上是CSS。 JavaScript很簡單,特別是使用支持多種瀏覽器的原型庫。
您可能需要支持某些項目的ID,因此您可以爲每個帶有ID的列表項添加一些隱藏輸入項,並在文本輸入旁邊存儲所選項目ID。
您必須處理下拉列表中的OnSelectedIndexChanged事件,以根據用戶選擇重新綁定您的數據集。如果你想過濾發生異步回發,包裝數據集(或我假設的數據網格)和你的下拉在UpdatePanel。無論如何,這是一種方法。
在我看來,你不應該爲此使用AJAX。
這裏的原因:
(1)在重點:一切,他可以選擇的選項顯示在下拉列表中。這意味着所有可能的選項都已發送給客戶端。 (2)如果用戶輸入了某些內容,下拉菜單中的條目數將被過濾以匹配。這很容易在客戶端完成。在這個時候成爲ajax'y並回到服務器只會減慢速度。
phpguru。組織有一個控制是「幾乎完全」你需要什麼:
http://www.phpguru.org/static/AutoComplete.html#demo
它從你所需要的,因爲它顯示的下拉略有不同,而不是雙擊焦點。這應該很容易修改。
我希望這會有所幫助。
我不完全確定你想要什麼,但Ra-Ajax AutoCompleter肯定支持自己內部有「控件」。您可以在Stacked的搜索框中看到,實際上(右上角)我們正在使用鏈接。但是,如果您願意,這也可以是LinkButtons ...
聲明;我與Ra-Ajax合作...