2010-10-14 67 views
0

我有一個選擇元素與大量的選項元素,我正在尋找一種方法來切換具有所有可用選項和子集的可供選擇的選項(該子集是最受歡迎的選項)。這些選項按字母順序排列,並按其值的首字母進行分組。擴大選擇元素的內容以增加選項元素的數量

如果用戶在瀏覽顯示選項子集的選擇元素時沒有看到他們想要的選項,那麼能夠選擇名爲「show more Bs」的選項會很好,並且不會摺疊選擇元素,全套選項神奇地出現。通過摺疊,我選擇了其中一個選項時,選擇元素的正常行爲。

顯然很容易選擇一個選項並觸發select元素的重新填充,但從用戶角度來看,如果select元素必須摺疊才能重新填充,它並不完全直觀 - 我的感覺是用戶可能會想象他們需要點擊搜索按鈕才能看到更多的Bs,而實際上他們需要重新打開該選擇。

所以我的問題是:是否有可能重新填充或添加選項到select元素而不折疊?

當然,我有網絡尋找解決方案,沒有發現任何有價值的東西 - 這當然可以歸結爲我的(可能缺乏)搜索功能。我覺得應該有一個JavaScript解決方案(不是我的專長),理想情況下是jQuery解決方案,所以最好問問一些專家。當然,如果我的問題返回一個響亮的「不!」,我願意接受其他優雅和直觀的解決方案來達到相同的結果。

感謝您的閱讀。

+0

選擇元素?這不像是一個下拉?你如何傳統上更喜歡被告知下拉列表中的元素已被更新?你不能使用一個小的紅色標籤或彈出對話框來告訴他們已經更新了嗎? – jcolebrand 2010-10-14 22:25:00

+0

謝謝drachenstern,這是一種可能性,但它不覺得是最好的解決方案。 – jah 2010-10-14 23:02:16

回答

1

簡單地說:沒有。選擇元素失去焦點時,選擇框將摺疊。如果你想創建一個動態選擇工具而不會產生不直觀的崩潰,我會建議你跳出框框思考。

花一天時間,想想所有可能的方式,您可以創建一個用戶界面來實現顯示數據的目標。也許抽象選擇框外的「選擇更多...」選項。也許不使用選擇框和使用手風琴風格的小部件。

編輯:現在我想到了,這是可能的一些JavaScript-fu。您可以創建一個彈出式樣式窗口,而不是使用選擇列表。一個最好的例子就是屏幕左上角的StackExchange下拉菜單。

+0

+1雙關!不幸的是,我不可能在盒子外面思考:) – jah 2010-10-14 23:03:35

+0

雖然真的,謝謝; StackExchange下拉式是一個可愛的解決方案,我非常喜歡這個想法。 – jah 2010-10-14 23:05:14