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)后正常。