1
私は次の質問Knockout JS treeview with checkboxesを見ていました。ここでは、多くのネストされたforeachループを実行しました。 http://jsfiddle.net/47d6r/384/私は再帰的なforeachの種類を行う方法があるのだろうか?ノックアウトでforeachを再帰的に呼び出す
htmlが、残念ながらポストが削除または削除されたlorafrens
<div id='tree2'>
<ul data-bind="foreach: folders">
<li>
<span data-bind="text: name"></span>
<ul data-bind="foreach: folders">
<li>
<span data-bind="text: name"></span>
<ul data-bind="foreach: folders">
<li>
<span data-bind="text: name"></span>
<ul data-bind="foreach: folders">
<li>
<span data-bind="text: name"></span>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</ul>
</div>
javascriptの
function folder(name) {
var self = this;
this.name = ko.observable(name);
this.folders = ko.observableArray();
this.addFolder = function(name) {
self.folders.push(new folder(name));
}
}
function model() {
var self = this;
this.folders = ko.observableArray()
}
var mymodel = new model();
$(document).ready(function() {
ko.applyBindings(mymodel);
mymodel.folders.push(new folder('Jord'));
mymodel.folders.push(new folder('Mud'));
mymodel.folders.push(new folder('Rock'));
mymodel.folders.push(new folder('Rock1'));
mymodel.folders()[0].addFolder('GroJord');
mymodel.folders()[0].addFolder('ModerJord');
mymodel.folders()[0].folders()[0].addFolder('Jord - Grov Matjord');
mymodel.folders()[0].folders()[0].addFolder('Jord - Fin Matjord');
mymodel.folders()[0].folders()[0].folders()[0].addFolder('Jord Grov Matjord 0 18 verified')
mymodel.folders()[0].folders()[0].folders()[0].addFolder('Jord Grov Matjord unknown')
});
$(function() {
$("#tree2").jstree({
"checkbox": {
"keep_selected_style": false
},
"plugins": ["checkbox"]
});
});