我找不到一个非常合适的指令来创建一个带有JSON结构复选框的树视图,所以我用一个自调用迭代器做了这个,如下所示:
现在,我唯一遇到的问题是(看看第40行中的牛仔裤'数据是这样的:
"chk": true,
这当然标志着" Jeans" -checkbox,但不是上面的标记。这些值可以从数据库中得到正确的结果(即使上面的bransch也会有chk = true,但是我很好奇如何能够触发初始"起泡并将所有父母标记为已检查"如果某个项目标记为" true"。
有人可以帮助我了解如何做到这一点吗?
非常感谢!
了Christoph
答案 0 :(得分:1)
我会以类似于setData函数的递归方式预处理树数据:
function initTree(tree) {
function processNode(node) {
angular.forEach(node.children, function(child) {
if(processNode(child) === true) {
node.chk = true;
}
});
return node.chk;
}
angular.forEach(tree, processNode);
};
initTree($scope.tree);
请参阅更新的小提琴http://jsfiddle.net/65yucqge/
修改强> 这是另一个显示如何将复选框数据放入数组的小提琴: http://jsfiddle.net/tmakin/kmhw1ue0/