我正在尝试编写一个从篮子中传输物品并将其推入购物车的功能。 我目前面临的问题是,虽然这段代码在FF和Chrome中运行良好,但它并不能识别产品。
非常感谢提前。
var modals_pool = {};
$('.deal_order_btn').live('click', function (e) {
e.preventDefault();
deal = {};
deal.id = $(this).attr('deal_id');
deal.title = $(this).attr('deal_title');
deal.items = [];
additional_total = 0;
$(this).parents('.deal_item_holder').find('table.deals_item_').each(function (index, ele) {
item = {};
item.id = $(ele).attr('deal_item_id');
item.name = $(ele).find('.deal_item_name a').text();
if ($(ele).find('select.product').length) {
item.product = $(ele).find('select.product').val();
}
if ($(ele).find('select.product').length === 0) {
item.product = $(ele).find('.deal_item_name a').attr('rel');
}
if ($(ele).find('select.size').length) {
item.size = $(ele).find('select.size option:selected').text();
}
if ($(ele).find('.static_size').length) {
item.size = $(ele).find('.static_size').text();
}
deal_object = modals_pool[$(ele).attr('container_id').replace(/ /g, '_') + "_" + $(ele).find('.product').val()];
//console.log(deal_object);
if ($(ele).find('select.product').length && deal_object) {
item.product_name = $(ele).find('select.product :selected').text();
item.product_topping = deal_object.selected_topping_normal;
item.base = deal_object.default_base;
item.product_double_topping = deal_object.selected_topping_double;
item.product_total = deal_object.total;
additional_total += deal_object.total;
}
deal.items.push(item);
});
deal.total = $(this).parents('li:first').find('span.customize_total_deal').text();
deal.orginal = $(this).parents('li:first').find('span.customize_total_deal').attr('orginal_total');
deal.addtional_topping_total = additional_total;
$.post(window.location.href, {
'action': '_saveUserDeal',
'deal_details': JSON.stringify(deal)
}, function (data) {
if (data.code) {
var date = new Date();
var milseconds = date.getTime();
$('.basket_box_holder').load(root + store_name + '/get_cart?' + milseconds);
}
});
});
答案 0 :(得分:1)
您的脚本在第683行中断,错误为:
对象不支持此操作
这是因为item是Internet Explorer 8及更低版本中的保留关键字,尝试将其重命名为其他内容或使用var关键字在本地声明项目。这可能会解决它:
var item = {};
干杯。