我正在寻找一些示例代码,如果有的话可以处理下面的场景。
我想在添加新项目时使用ebay.com等一些级联(过滤)选定框。
我遇到了困难,因为
有谁知道eBay是如何做到的?
数据将是这样的:
美国硬币 - >美元 - >摩根 - > 1894至1898年
或
邮票 - >美国 - >封面 - > FDC - > 1931年至1940年
数据将存储在具有以下结构的sql表中:
Id | CategoryText |的ParentId
树中选择的每个级别都会在其右侧生成一个新的选择框,并使用可用的子值生成。
答案 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)
看起来我在第一个问题上发布了自己的答案。
以下是我将要做的事情的大致概述,我还没有对其进行编码,但我花了一个晚上思考解决方案并相信它会起作用。
取消规范化数据。而不是以
的格式提供数据 Id | CategoryText | ParentId
我会将内容存储为
Id | CategoryTextLevel1 | CategoryTextLevel2
等。
我做了一些研究,并且在这个时候看到ebay的类别结构只下降了六个级别,这对我来说也是有用的。
在页面加载时,请致电服务以获取第一级别的类别。
将事件处理程序附加到每个选择框项目,不知道我将如何执行此操作,但我想我可能只能在option.click()
选择框项目将以<option id="x_y" value="y"
格式存储,其中x是类别(1-6)的级别,y是数据库中的类别ID
在选项上单击
循环选择框1-6并删除如果id大于我们点击的项目的索引
循环浏览页面上的所有选定选项。如果我们在叶子节点,启用保存/继续按钮并显示所选类别链的摘要。
我仍然有一些东西要弄清楚何时/如何绑定jquery中的所有事件,但这是我将用来编写页面的基本大纲。
另外,即使我发布了答案。如果其他人在他们的网站上有类似的编码,请随时发布链接,以便我可以与我的实现进行比较: - )
答案 2 :(得分:0)
听起来你想要一个向下钻取菜单。这是一个很好的:http://filamentgroup.com/lab/jquery_ipod_style_and_flyout_menus/
见第二和第三个例子。