我找到了来自knockoutjs.com的购物车编辑器示例,并想知道如何添加其他信息,例如" tax"和外部sampleproductcategories.js的相应值,并计算"总税收"在表格上? 这是jsfiddle:
http://jsfiddle.net/rniemeyer/adNuR/
function formatCurrency(value) {
return "$" + value.toFixed(2);
谢谢:)
答案 0 :(得分:0)
在html中首先添加每行税:
<td class='tax'>
<span data-bind='visible: product, text: formatCurrency(tax())' > </span>
</td>
然后添加总税:
<p class='totalTax'>
Total value: <span data-bind='text: formatCurrency(totalTax())'> </span>
</p>
在CartLine中添加:
self.tax = ko.computed(function() {
var taxRate = 0.1;
return self.subtotal() * taxRate;
});
这将为每一行增加税收。它目前设定为10%。
在购物车中添加:
self.totalTax = ko.computed(function() {
var total = 0;
$.each(self.lines(), function() { total += this.tax() })
return total;
});
这只会累计所有行的税。
如果每种产品都有自己的固定税额,例如:
{
"name": "1948 Porsche 356-A Roadster",
"price": 53.9,
"tax": 5.39
}
CartLine中的self.tax将是:
self.tax = ko.computed(function() {
return self.product() ? self.product().tax * parseInt("0" + self.quantity(), 10) : 0;
});