var CartListViewModel = function () {
var self = this;
self.payment = [
{ name: "", value: 1 },
{ name: "", value: 2 },
];
self.items = ko.observableArray([]); // {'id':1,'data':['aa','bb']}
self.load = function () {
var data = <%=cartListMap %>;
var items = new Array();
for (var i in data) {
var dataItem = data[i];
var cartItem = new CartItemViewModel()
。。。
items.push(cartItem);
}
self.items(items);
};
self.TotalSum = function(){
var totalsum = 0;
var ilength = this.items().length;
for(var idx = 0; idx < ilength; idx++)
{
var iItem = this.items()[idx];
if (iItem.selected())
{
totalsum = totalsum + iItem.goodsPrice();
}
}
return totalsum.toFixed(2);
}
}
上面部分knockout.js代码,其中,TotalSum函数中,return totalsum;(原来的代码)在FF中正常运行,但在IE总出现“意外地调用了方法或属性”的错误。后来在代码后加了toFixed(2)后正常。