我有这个表单,所有这些输入都是整数。 intpu B,C嵌套形式的嵌套形式,当点击添加另一个时,b,c(但不同的id,名称)的克隆将被添加到表单中。
C'value = A'value * B'value / 100
输入bindto underwriting_fee
输入B bindto allocation_percent
输入C ko.computed = A * B / 100
var appmodel = function(){
var self = this;
self.underwriting_fee = ko.observable();
self.lines = ko.observableArray([new line(self.underwriting_fee)]);
self.addLine = function() {
self.lines.push(new line(self.underwriting_fee));
};
};
var line = function(underwriting_fee){
var self = this;
self.underwriting_fee = underwriting_fee;
self.allocation_percent = ko.observable();
self.fee = ko.computed(function() {
//console.log(self.underwriting_fee());
//console.log(self.allocation_percent());
if(!isNaN(self.underwriting_fee()) && !isNaN(self.allocation_percent())){
return self.underwriting_fee() * self.allocation_percent() / 100 ;
}
});
};
ko.applyBindings(new appmodel());
目前,当我点击添加另一行时,会有两行b1-c1,一行由knockout ko oberservable数组,一行由rails nested_form gem。并通过嵌套的形式doest工作(输入c未计算),我不想因为相同的id和同名而被淘汰。
我已经阅读了文档并搜索了很多内容,但是没有找到解决方案。
也许我不应该在这里使用knockoutjs?