我正在使用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