私はこの形式を取得しました。この入力はすべて整数です。ネストされた形式のintpuB、Cは、nested_form gemによって、[別の追加]をクリックすると、b、cのクローン(ただし、異なるID、名前)がフォームに追加されます。
C'値=A'値*B'値/100
input Abindtounderwriting_fee
入力Bbindtoallocation_percent
入力Cko.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が2行表示されます。1行はノックアウトkoの監視可能な配列で、もう1行はrailsのnested_formgemです。ネストされた形式による行は機能しません(入力cは計算されません)、同じIDと同じ名前のため、ノックアウトによる行は必要ありませんでした。
私はドキュメントを読み、グーグルでたくさん検索しましたが、解決策が見つかりません。
たぶん私はここでknockoutjsを使うべきではありませんか?