【发布时间】:2012-03-13 23:56:22
【问题描述】:
我有一个 Java 列表,其中包含具有分层数据(id、名称、parentId)的对象,并且需要生成具有展开/折叠功能的 HTML 树结构(使用类似 DynaTree 的东西)。我见过的所有示例都需要生成嵌套的<ul> 结构来表示父/子/.../n-child/ 层次结构等。
我可以转换数据来构建这个结构。但是,我认为这种数据格式可以以其当前形式(id/name/parentId)工作。是否有可以处理这些数据的 jquery API?
这是一个简短的例子..
//Category has an id, name, parentId
List<Category> categoryTree = new ArrayList<Category>();
categoryTree.add(new Category(1, 'root', null));
categoryTree.add(new Category(2, 'colors', 1));
categoryTree.add(new Category(3, 'blue', 2));
categoryTree.add(new Category(4, 'red', 2));
categoryTree.add(new Category(5, 'shapes', 1));
categoryTree.add(new Category(6, 'round', 5));
//now, I need to convert this to dynamic javascript to build the tree structure (<ul>, etc)
我以前使用过这样的 SmartGWT,将其转换为树节点结构很简单(请参阅this example)。我认为有一个 jQuery API 可以做同样的事情......也许不是
【问题讨论】:
-
1.代码示例在哪里? 2. 你不按现在的方式做的原因是什么? 3. 使用
<ul>技术的代码在哪里,以便有人可以考虑改进或优化它? -
您只能使用具有适当嵌套和边距或填充的 DIV 元素来显示关系。属性和值可以使用 SPAN 元素。我认为这比使用列表的结构更简单、更灵活。是否使用 jQuery 无关紧要。
-
@bPratik,查看指向 DynaTree 的链接......这是他们正在寻找的格式......
-
@RobG,jquery 是相关的,因为我想要一个树结构(展开/折叠、嵌套等)......并且不想在 Javascript/CSS 中重新发明轮子
-
@boday — 执行此操作的代码非常简单,在任何情况下,首先创建一个合适的设计(根据您拥有的任何标准)然后看看如何最好地实现它。跨度>
标签: java javascript jquery html