2
我具有结合动态创建的DOM元素淘汰赛JS:装订动态行
一些麻烦代码:
var i=0;
$.each(data.info, function(index, element) {
$("#div1").append("<tr><td>" + element.Name + "</td><td>"+ element.Major +"</td><td>" + element.Sex +"</td><td>" + "<input data-bind='value: eng"+i+"' ></td><td>" + "<input data-bind='value: jap"+i+"' ></td><td>" + "<input data-bind='value: cal"+i+"' ></td><td>" + "<input data-bind='value: geo"+i+"' ></td><td>" + "<strong data-bind='text: total'></td>")
i++;
});
这产生与输入数据绑定值行eng0,ENG1,jap0,jap1等
我要绑定这些为可观测量
代码
function AppViewModel() {
this.eng = ko.observable(element.English);
this.jap = ko.observable(element.Japanese);
this.cal = ko.observable(element.Calculus);
this.geo = ko.observable(element.Geometry);
this.total = ko.computed(function() {
var tot=parseFloat(this.eng()) + parseFloat(this.jap()) + parseFloat(this.cal()) + parseFloat(this.geo());
return (tot);
}, this);
}
ko.applyBindings(new AppViewModel());
此代码也在里面$.each(data.info, function(index, element){}
我想要一些东西一样
Var i=0;
$.each(data.info, function(index, element) {
function AppViewModel() {
this.eng+i = ko.observable(element.English);
this.jap+i = ko.observable(element.Japanese);
this.cal+i = ko.observable(element.Calculus);
this.geo+i = ko.observable(element.Geometry);
this.total+i = ko.computed(function() {
var tot=parseFloat(this.eng()) + parseFloat(this.jap()) + parseFloat(this.cal()) + parseFloat(this.geo());
return (tot);
}, this);
}
i++;
}
这让我跟你造成this.eng0 = ko.observable()
注:从JSON对象获得的数据。我只包括迭代路径
Thanx。我想知道是否有任何方法可以将观察量绑定到动态元素,就像eng + 1一样。 – Okky 2013-03-20 09:21:10
我不确定你的意思是“eng + 1”还是“dynamic elements”?也许你应该试试你想要的,并且如果你被困住了,就要问一个后续问题。 – Jeroen 2013-03-20 14:47:03