我遇到了IE的问题,如果我检查列表中的项目,它不会更新购物车上的总价值。它适用于所有其他浏览器,但不适用于IE。
默认情况下,该按钮为PAY ALL,但如果您选择一个项目,它将更新总值并更改按钮,这是执行该操作的功能:
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();
}
}
});
有没有人知道它是否是IE浏览器的常见问题?或者我做错了什么?
你可以在http://driv.io/webwidget/实时查看,搜索板块FXZ4448,纽约州并点击搜索...我的问题出在选票屏幕上