我有這個問題,在一個表單中,我有一個可能超過300的客戶列表,對於我來說,它不是很簡單,因爲我應該滾動查找單個行的所有結果!超過300行的下拉列表的最佳解決方案?
在舊技術我有一個按鈕,打開一個彈出,我應該好好研究,我應該選擇哪一個客戶,比我用一個JavaScript記錄的第一個表單上的選擇,但它可能是新的一個很好的解決方案技術!
我該如何解決這個疑問?什麼是大<select>
標籤的最佳解決方案?
我有這個問題,在一個表單中,我有一個可能超過300的客戶列表,對於我來說,它不是很簡單,因爲我應該滾動查找單個行的所有結果!超過300行的下拉列表的最佳解決方案?
在舊技術我有一個按鈕,打開一個彈出,我應該好好研究,我應該選擇哪一個客戶,比我用一個JavaScript記錄的第一個表單上的選擇,但它可能是新的一個很好的解決方案技術!
我該如何解決這個疑問?什麼是大<select>
標籤的最佳解決方案?
你基本上要自動完成下拉列表。這在標準JSF組件集中不存在,並且在標準JSF組件集之上使用JavaScript/jQuery實現也不是微不足道的,因爲可用值必須存在於服務器端的狀態中。您還基本上需要一個下拉列表,其代表<div><input><ul><li>
而不是<select><option>
,因爲正常的<select>
不允許最終用戶鍵入文本。標準JSF組件集沒有呈現所需HTML標記的組件。你基本上需要創建一個自定義的JSF組件。
有第三方JSF組件庫已經提供了一個完整的JSF自動完成下拉列表。使用它們中的任何一個都可能更容易,而不是通過定製的JSF組件重新發明輪子。任你選:
請注意OP是根據使用JSF的問題標籤,w這是一個基於狀態組件的MVC框架。實現jQuery並不是微不足道的,因爲你也必須考慮服務器端的狀態。您寧願使用JSF組件代替它。 – BalusC 2011-12-20 12:56:16
是,jQuery的自動完成插件是你最好的解決方案,而你有大量的項目。
順便說一句,想象一下,你想選擇一個具有特定字母的項目。當您使用下拉列表時,您可以通過從每個列表的第一個字母中輸入他們的名字來指向您想要的項目。但是使用jQuery自動完成功能,您可以在任何地方搜索字符串或一組字母。插入的字母是否位於項目名稱的第一個或其他位置無關緊要。
正如ShantanuD說,你可以找到這個插件在http://jqueryui.com/demos/autocomplete/
考慮發佈您的問題上http://ux.stackexchange.com/ – robasta 2011-12-20 10:46:10