我正在使用一个通过ajax组装的shopify网站的抽屉推车。此购物车内还有一个带有加号和减号按钮的数量字段。 这是加号按钮的代码:
// This button will increment the value
$('.ajax-cart-form').on("click",'.qtyplus.qtyplus-2', function(){
// Get the field name
fieldName = $(this).attr('field');
// Get its current value
var currentVal = parseInt($('input[id='+fieldName+']').val());
// If is not undefined
if (!isNaN(currentVal)) {
// Increment
$('input[id='+fieldName+']').val(currentVal + 1);
} else {
// Otherwise put a 0 there
$('input[id='+fieldName+']').val(0);
}
var currentVal2 = parseInt($('input[id='+fieldName+']').val());
var currentProd = $('input[id='+fieldName+']').attr('id');
$.ajax({
type: 'POST',
url: '/cart/update.js',
data: { updates: { currentProd : currentVal2 }},
dataType: 'json',
success: function() {
$.ajax({
type: 'GET',
url: '/cart.js',
async: false,
cache: false,
dataType: 'json',
success: function() {
$.getJSON(_config.shopifyAjaxCartURL, function(cart) {
$('.drawer-subtotal').remove();
$('.ajax-subtotal').css('display','none');
$(function(index, cartItem) {
var line2= index +1;
var cents2 = "";
if (cart.original_total_price % 100 < 10) {
cents2 = "0";
}
var price2 = parseInt(cart.original_total_price/100) + "." + cents2 + cart.original_total_price % 100;
$('.ajax-subtotal2').append("<div class='drawer-subtotal'><h3>Subtotal <span class='money'>£"+ price2 +" GBP</span></h3></div>");
});
$('#item_count').text(currentVal2);
});
}
});
}
});
});
如您所见,我正在获取数量字段的值,以通过变量currentVal2更新ajax发布请求中的数量。这很好。我也通过输入字段的ID获得产品ID。 我已经尝试过
alert(currentProd);
,这将正确输出ID。但是,当我试图在像这样的更新函数中使用此变量时
data: { updates: { currentProd : currentVal2 }},
我收到未找到update.js的错误,因此我假设它没有正确输入产品ID。
如果我尝试
data: { updates: { 35450129542: currentVal2 }},
因此直接输入有效的产品ID。
有什么办法解决这个问题吗?