2010-02-11 22 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中添加新的下拉列表。

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