Javascript 未在IE上更新JS总计数
我在IE上遇到了一个问题,如果我检查列表上的项目,它不会更新购物车上的总价值。它可以在所有其他浏览器上正常工作,但不能在IE上正常工作 默认情况下,按钮为“全部付款”,但如果您选择一个项目,它将更新总值并更改按钮,以下是执行此操作的函数:Javascript 未在IE上更新JS总计数,javascript,jquery,internet-explorer,canjs,Javascript,Jquery,Internet Explorer,Canjs,我在IE上遇到了一个问题,如果我检查列表上的项目,它不会更新购物车上的总价值。它可以在所有其他浏览器上正常工作,但不能在IE上正常工作 默认情况下,按钮为“全部付款”,但如果您选择一个项目,它将更新总值并更改按钮,以下是执行此操作的函数: update: function() { if (this.paying > 0) { this.element.find('.on_selected').show() .find('h2 span
update: function() {
if (this.paying > 0) {
this.element.find('.on_selected').show()
.find('h2 span').text('$' + this.paying.toFixed(2));
this.element.find('.on_selected_none, .pay_all').hide();
this.element.find('.continue').css('display', 'block');
} else {
this.element.find('.on_selected_none, .pay_all').show();
this.element.find('.on_selected, .continue').hide();
}
}
这是我的整个JS课程
var Ticket = can.Control.extend({
/**
* @var int total
*/
total: 0.00,
/**
* @var int paying
*/
paying: 0.00,
/**
*
* @param {type} element
* @param {type} options
*/
init: function(element, options) {
var self = this;
element.find(':checkbox').each(function() {
self.total += parseFloat($(this).val());
if ($(this).is(":checked")) {
self.add($(this));
}
});
this.update();
},
/**
*
* @param dom el
*/
add: function(el) {
var v = parseFloat(el.val());
this.paying += v;
},
/**
*
* @param dom el
*/
substract: function(el) {
var v = parseFloat(el.val());
this.paying -= v;
},
/**
* Event Listener
* @param dom el
*/
':checkbox change': function(el) {
if (el.is(":checked")) {
this.add(el);
} else {
this.substract(el);
}
this.update();
},
'table tr div.row click': function(tr,e){
// console.log();
// if($(e.target).is('label')){ return; }
tr.parent().prev().find('input[type=checkbox]').trigger('click');
},
'table .checkbox-big label click': function(tr){
// console.log(tr.prev());
// tr.prev().trigger('click');
// tr.find('label').trigger('mouseover');
},
/**
* Form button event lister
*
* Submits form
*/
'a.button click': function(btn, ev) {
ev.preventDefault();
if (btn.hasClass('pay_all')) {
this.element.find(':checkbox').each(function() {
$(this).trigger('click');
});
this.element.submit();
}else{
if(this.paying > 1){
this.element.submit();
}else{
alert('Please select tickets to proceed.');
}
}
},
/**
* Based on user selection message and button gets changed
*/
update: function() {
if (this.paying > 0) {
this.element.find('.on_selected').show()
.find('h2 span').text('$' + this.paying.toFixed(2));
this.element.find('.on_selected_none, .pay_all').hide();
this.element.find('.continue').css('display', 'block');
} else {
this.element.find('.on_selected_none, .pay_all').show();
this.element.find('.on_selected, .continue').hide();
}
}
});
有人知道这是否是canJS在IE上的常见问题吗?还是我做错了什么
你可以现场查看,搜索车牌FXZ4448,纽约州,点击搜索。。。我的问题出现在票证选择屏幕上请尝试创建一个。尝试删除任何不直接涉及问题的代码。是否有特定版本的IE让您遇到麻烦?我刚刚在XP上的IE8上检查了这个网站,它正在运行。