2010-02-11 23 views
1

我想爲我的用戶提供一種通過連續鑽取ono下拉列表來導航分類的方法。如何使用ajax/jQuery實現動態分類導航/分層下拉列表?

一個簡單的例子就像eBay的類別。假設您選擇「服裝」類別,下一個下拉列表將顯示服裝下的所有子類別,例如「短褲」,「褲子」,「高士」等。這可以任意深入地進行。

我看着jQuery插件mcDropdown。界面看起來非常好。但似乎需要將整個分類標準一次性傳遞給插件。我看過的其他插件也有這個限制。

我需要somethinig檢索&動態顯示數據。因此,在用戶選擇「服裝」後,用戶界面將選擇發送回服務器,服務器然後發回「服裝」的子類別列表,等等。

有沒有這樣做的任何jQuery插件?或者需要在普通的jQuery中實現它呢?

我更喜歡jQuery,但其他框架也可以。

回答

1

我曾經wrote a plugin,可能是你在找什麼;如果沒有,至少它應該給你一個好的地方開始編碼(希望:)

+0

謝謝。我會深入研究它。你認爲你的插件穩定或更實驗? – Continuation 2010-02-12 00:44:20

+0

嗯,它被用在生產代碼中,所以我猜它相當穩定。儘管如此,這裏可能還有一兩個bug ......如果你找到了,我會非常感激。 – elo80ka 2010-02-12 08:39:14

2

我不知道某些插件此所以在這裏的是過程的擊穿..

因爲它依賴於你的服務器端我不會嘗試這樣做

應該用不了多長時間來實現。(技術和HTML/XML/JSON之間偏愛AJAX調用返回..

  1. jQuery的Ajax調用,使第一級數據
  2. 與jQuery創建下拉列表,並獲取數據添加到它
  3. 名單項目 使用jQuery .data()方法在新的下拉列表中選擇自動增量計數器(將被用來當你在一個下拉菜單,是不是最後改變的東西刪除其隨後所有的實例)
  4. 綁定一個處理器到.change()事件新的下拉列表中即將重複整個過程,作爲參數傳遞給ajax調用選擇的id(應創建邏輯一次,並且只是第一次手動調用它)。
  5. 在同一個處理程序中,檢查select框不是最後一個,找到所有下拉列表,並刪除那些計數器大於此下拉列表。
  6. 在DOM中添加新的下拉列表。

我希望它有一定的道理..