我正在使用knockout.js。淘汰賽計算函數
這裏是我的情況:
我有一個輸入字段和三個複選框。每個複選框都有一個相關的值。例如,複選框1(500),複選框2(200),複選框3(100)。當用戶點擊複選框時,我希望該複選框的值在輸入字段中顯示。如果用戶點擊兩個複選框,我希望兩個複選框的值的總和出現在輸入字段上。同樣的事情適用於所有三個複選框被選中。
我對這個問題
拿我想,我需要一個計算的功能,將計算基於被選中的複選框值。然後,我可以將計算的函數綁定到我的輸入字段。
在我的視圖模型,我有這個計算功能:
var classes = ko.computed(function() {
var total = 0;
if(primaryClass.checked)
total+= parseInt(primSalary());
if(secondaryClass.checked)
total+= parseInt(secSalary());
if(otherClass.checked)
total+= parseInt(otherSalary());
return total;
});
在我看來,我結合我的價值觀是這樣的:
<input type="text" class="input-medium" placeholder="0" data-bind="text: classes"/>
然而,當我這樣做,控制檯拋出此消息:
「Unable to parsebindings.↵Message:ReferenceError:classes is not defined;↵Bindingsvalue:value:classes」
我會感謝你的幫助人。
你可以把你的視圖模型代碼的其餘部分?我猜猜這些類屬性是不公開可見的。另外,什麼是您的計算中的primaryClass,secondaryClass和其他類? – 2013-03-22 12:40:44
@PaulManzotti,那些在我的viewmodel defiend觀察者並綁定到我的複選框,如下所示: 500 – Stranger 2013-03-22 15:09:02