易趣类别选择菜单

时间:2012-07-17 17:42:54

标签: c# jquery asp.net append ebay

我正在寻找一些示例代码,如果有的话可以处理下面的场景。

我想在添加新项目时使用ebay.com等一些级联(过滤)选定框。

我遇到了困难,因为

  1. 可能有很多亲子关系。可以存在具有四个或更多子类别的类别。
  2. 我不确定是否应该在有人点击父类别时通过jquery动态添加选择框,或者在页面上有许多隐藏的选定框并根据需要隐藏/显示。
  3. 我确定我可以查看这个,但我不确定如何使用动态添加的表单元素通过后面的代码中的javascript。
  4. 有谁知道eBay是如何做到的?

    数据将是这样的:

    美国硬币 - >美元 - >摩根 - > 1894至1898年

    邮票 - >美国 - >封面 - > FDC - > 1931年至1940年

    数据将存储在具有以下结构的sql表中:

    Id | CategoryText |的ParentId

    树中选择的每个级别都会在其右侧生成一个新的选择框,并使用可用的子值生成。

3 个答案:

答案 0 :(得分:0)

我确定之前已经问过,但这是你问题的Jquery部分的代码。

 var numbers = [1, 2, 3, 4, 5];

for (i=0;i<numbers.length;i++){
   $('<option/>').val(numbers[i]).html(numbers[i]).appendTo('#items');
}

https://stackoverflow.com/a/3446086

下一部分是一个对象组合问题,如果你对你对父子关系的了解有所了解,那么这个问题才能真正得到解答。 ebay如何帮助你,他们可能有你不需要的需求。

答案 1 :(得分:0)

看起来我在第一个问题上发布了自己的答案。

以下是我将要做的事情的大致概述,我还没有对其进行编码,但我花了一个晚上思考解决方案并相信它会起作用。

  1. 取消规范化数据。而不是以

    的格式提供数据

    Id | CategoryText | ParentId

    我会将内容存储为

    Id | CategoryTextLevel1 | CategoryTextLevel2等。

    我做了一些研究,并且在这个时候看到ebay的类别结构只下降了六个级别,这对我来说也是有用的。

  2. 在页面加载时,请致电服务以获取第一级别的类别。

  3. 将事件处理程序附加到每个选择框项目,不知道我将如何执行此操作,但我想我可能只能在option.click()

  4. 上全局使用一个
  5. 选择框项目将以<option id="x_y" value="y"格式存储,其中x是类别(1-6)的级别,y是数据库中的类别ID

  6. 在选项上单击

    1. 循环选择框1-6并删除如果id大于我们点击的项目的索引

    2. 循环浏览页面上的所有选定选项。如果我们在叶子节点,启用保存/继续按钮并显示所选类别链的摘要。

  7. 我仍然有一些东西要弄清楚何时/如何绑定jquery中的所有事件,但这是我将用来编写页面的基本大纲。

    另外,即使我发布了答案。如果其他人在他们的网站上有类似的编码,请随时发布链接,以便我可以与我的实现进行比较: - )

答案 2 :(得分:0)

听起来你想要一个向下钻取菜单。这是一个很好的:http://filamentgroup.com/lab/jquery_ipod_style_and_flyout_menus/

见第二和第三个例子。