2010-02-04 73 views
3

我想知道是否有任何可行的界面替代使用選擇框存在非常大的數據列表(1000+)。可變的選擇框替代物品的巨大列表?

例如,在我的應用程序中,我有一個表單顯示單個庫存項目的細節(這是一個非常基本的庫存管理應用程序)。倉庫出貨時,倉庫員工需要將產品標記爲「出貨」並選擇出貨的訂單號碼。

對於最後一位,此訂單#select只是系統中現有訂單號的下拉列表(1,2,3等...)。現在訂單數量正在增加(現在超過1k),顯然這使頁面變得更大(從生成<option>標籤的大HTML列表)。

有沒有什麼好的(創造性?)替代這種數據使用選擇框?我曾考慮使用Ajax類型的建議框,但對於只需輸入幾位數字的人來說,這似乎有點奇怪。我還希望在接口端避免儘可能多的數據完整性檢查 - 要輸入/選擇不存在的訂單號(如果其不在<select>下拉列表中),很難。

我不怕任何方式的Ajax,只是尋找其他選項,我的谷歌搜索和良好的界面設計知識不足。

謝謝大家!

回答

1

您可以過濾顯示的訂單號列表給那些尚未完全滿足的訂單嗎?這會大大減少訂單數量嗎?


編輯
基礎上的意見,我會嘗試以下情況之一:

1添加另一個,初步下拉過濾訂單。可能是銷售代表名稱或產品運送到的狀態。根據方框中的選擇,我希望Ajax-y獲得相關訂單。

2-如果#1不起作用,我會添加一個按鈕以彈出包含訂單號的Div覆蓋圖。我會在點擊按鈕時獲得訂單號Ajax-y,然後在訂單被選定後將其扔掉。

+0

很不錯的想法,但是我們將項目分配給訂單的方式實際上不可能知道訂單何時完全填滿。即使訂單已被標記爲已發貨,未來任何時候都有可能將其他商品標記爲庫存並再次發出訂單。如果數據庫表中沒有完成/未完成標誌,那麼一次執行超過1000個訂單的實時計算將非常困難(並且很慢)。 希望是有道理的。不過謝謝你的想法! – theotherlight 2010-02-04 20:11:30

+0

訂單在履行前是否知道它包含哪些項目? – 2010-02-04 20:15:20

+0

訂單確實知道它包含哪些項目並可以使用該數據。銷售代表可能會訂購'型號XYZ筆記本電腦',數量爲5等。但是,其他庫存物品也可能會針對該物品發運,但未在原訂單中明確列出(例如RAM升級,硬盤等)。銷售代表不應該在原始訂單上列出這些信息,以便客戶(訂單/報價正在發送給)客戶看不到它。 – theotherlight 2010-02-04 20:23:47

1

我會高度推薦Scriptaculous Auto-Completer小部件(http://wiki.github.com/madrobby/scriptaculous/ajax-autocompleter)。

這實際上簡化了AJAX實現,並允許您使用服務器端處理語言(php/jsp)在向用戶展示最佳匹配數據之前完成重要工作。

我全都是爲了保持簡單而半智能的建議列表ala google搜索框對大多數人來說都非常直觀。

對於一個非常漂亮的轉折,您可以在您的訂單完成表單的以前的數據輸入上進行AJAX,以便進一步修剪在用戶開始鍵入訂單#框之前輸入的一組可能的訂單號(假設數據可用於您的後端處理器,從上述評論看來這是可行的)。