我有一个来自api的JSON数据,如下所示:
var self = this;
var init = {
"topLevel": {
"secondLevel": [
{
"Cost": 1,
"AllocatePct": .9,
"thirdLevel: [ {Cost:1,Name:"A1"},{Cost:2,Name:"A2"},{Cost:9,Name:"A3"} ]
},
{
"Cost": 2,
"AllocatePct": .1,"thirdLevel: [ {Cost:11,Name:"B1"},{Cost:4,Name:"B2"},{Cost:9,Name:"B3"} ]
}
],
"total": 3
}
};
ko.mapping.fromJS(init,{},self);
我的HTML看起来像:
<div data-bind="foreach:topLevel.secondLevel">
<div data-bind="foreach:thirdLevel">
<input type="text" data-bind="value: Cost">
</div>
</div>
<div data-bind="??????">
<!--have the correct number of textboxes and store the totals-->
</div>
SecondLevel和thirdLevel具有动态数据量。我想计算总数。例如:A1 + B1的总计。另一个A2 + A2总计的文本框。 还有一些按钮可以动态删除一行(即A1和B2),还可以动态添加新行。 希望这是有道理的。谢谢!感恩节快乐!
答案 0 :(得分:0)
计算的observable是你需要的:
http://knockoutjs.com/documentation/computedObservables.html