我有一个 Java 列表,其中包含具有分层数据(id、名称、parentId)的对象,并且需要生成具有展开/折叠功能的 HTML 树结构(使用类似 DynaTree 的东西)。我见过的所有示例都需要生成嵌套的 <ul>
表示父/子/.../n-子/层次结构等的结构。
我可以转换数据来构建这个结构。但是,我认为这种数据格式可以以其当前形式(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 可以做同样的事情......也许没有
最佳答案
这是一个可能有用的演示
http://jsfiddle.net/charlietfl/pCsZ3/
它使用不多的 jQuery 解析无限深的对象,并且只对整个树使用一个 DOM 附加
如果从列表中解析,无论如何首先创建对象会更有效,否则你会做很多额外的附加到 DOM,这不是很有效
关于java - 使用 jquery 将父/子数据转换为 HTML 树结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9694018/