将标签和价值发送到购物车的问题
Issues sending tag and value to shopping cart
我目前正在 shopify 中的一个网站上工作。我已经设置了我希望使用的订单,目前一切正常,但我还需要添加一个客户文本字段,将团队名称传递到购物车。
Shopify.itemsToAdd = [];
Shopify.addItemstoTheCart = function() {
if (Shopify.itemsToAdd.length) {
var item = Shopify.itemsToAdd.pop();
$.ajax({
url: '/cart/add',
dataType: 'json',
type: 'post',
data: item,
success: Shopify.addItemstoTheCart,
error: Shopify.addItemstoTheCart
});
}
else {
window.location.href = '/cart';
}
};
jQuery(function($) {
$('table .quantity:first').focus();
$('.add-to-cart-order-form').click(function() {
$('.add-to-cart-order-form').addClass('disabled').attr('disabled','disabled');
// Resetting.
Shopify.itemsToAdd = [];
$('.quantity').each(function() {
var quantity = parseInt($(this).val(), 10);
if (this.checked) {
Shopify.itemsToAdd.push( { id: $(this).attr('data-id'), quantity: quantity} );
}
});
if (Shopify.itemsToAdd.length) {
Shopify.addItemstoTheCart();
}
else {
alert('All quantities are set to zero.');
$('.add-to-cart-order-form').removeAttr('disabled').removeClass('disabled');
}
});
});
因此我需要将来自以下输入名称的名称作为变量发送,并将来自客户的输入作为变量数据发送。
<input type="text" class="tname" name="properties[tname]">
需要在上面代码的这一行末尾加上。
Shopify.itemsToAdd.push( { id: $(this).attr('data-id'), quantity: quantity} );
发送到购物车的数据是id、数量和属性[tname]
我试过输入这个没有成功。
Shopify.itemsToAdd.push( { id: $(this).attr('data-id'), quantity: quantity, properties[tname]: "walker"} );
列出 "walker" 作为变量的测试数据。它继续出错,我相信对 [] 做,但它们必须在那里,shopify 系统才能确认列表并将其填充到购物车。
如果您能提供任何帮助,我将不胜感激。
编辑
好的,我可以在购物车中获取 post 的团队名称,但我只能获取要发送的第一个文本字段。我已对齐文本字段 id 标记以匹配复选框数据 id 标记。我的功能有效,但仅适用于第一对。之后所有的东西都被发送到没有团队名称的购物车。
jQuery(function($) {
$('table .quantity:first').focus();
$('.add-to-cart-order-form').click(function() {
$('.add-to-cart-order-form').addClass('disabled').attr('disabled','disabled');
// Resetting.
Shopify.itemsToAdd = [];
$('.quantity').each(function() {
var quantity = parseInt($(this).val(), 10);
var did = $(this).attr('data-id')
var idname;
if (did == $('.tname').attr('id')) {
var idname = $('.tname').val();
};
if (this.checked) {
Shopify.itemsToAdd.push( { id: $(this).attr('data-id'), quantity: quantity, properties: { tname: idname}} );
}
});
if (Shopify.itemsToAdd.length) {
Shopify.addItemstoTheCart();
}
else {
alert('All quantities are set to zero.');
$('.add-to-cart-order-form').removeAttr('disabled').removeClass('disabled');
}
});
});
应该是:
Shopify.itemsToAdd.push( { id: $(this).attr('data-id'), quantity: quantity, properties: { tname: "walker"}} );
我目前正在 shopify 中的一个网站上工作。我已经设置了我希望使用的订单,目前一切正常,但我还需要添加一个客户文本字段,将团队名称传递到购物车。
Shopify.itemsToAdd = [];
Shopify.addItemstoTheCart = function() {
if (Shopify.itemsToAdd.length) {
var item = Shopify.itemsToAdd.pop();
$.ajax({
url: '/cart/add',
dataType: 'json',
type: 'post',
data: item,
success: Shopify.addItemstoTheCart,
error: Shopify.addItemstoTheCart
});
}
else {
window.location.href = '/cart';
}
};
jQuery(function($) {
$('table .quantity:first').focus();
$('.add-to-cart-order-form').click(function() {
$('.add-to-cart-order-form').addClass('disabled').attr('disabled','disabled');
// Resetting.
Shopify.itemsToAdd = [];
$('.quantity').each(function() {
var quantity = parseInt($(this).val(), 10);
if (this.checked) {
Shopify.itemsToAdd.push( { id: $(this).attr('data-id'), quantity: quantity} );
}
});
if (Shopify.itemsToAdd.length) {
Shopify.addItemstoTheCart();
}
else {
alert('All quantities are set to zero.');
$('.add-to-cart-order-form').removeAttr('disabled').removeClass('disabled');
}
});
});
因此我需要将来自以下输入名称的名称作为变量发送,并将来自客户的输入作为变量数据发送。
<input type="text" class="tname" name="properties[tname]">
需要在上面代码的这一行末尾加上。
Shopify.itemsToAdd.push( { id: $(this).attr('data-id'), quantity: quantity} );
发送到购物车的数据是id、数量和属性[tname]
我试过输入这个没有成功。
Shopify.itemsToAdd.push( { id: $(this).attr('data-id'), quantity: quantity, properties[tname]: "walker"} );
列出 "walker" 作为变量的测试数据。它继续出错,我相信对 [] 做,但它们必须在那里,shopify 系统才能确认列表并将其填充到购物车。
如果您能提供任何帮助,我将不胜感激。
编辑
好的,我可以在购物车中获取 post 的团队名称,但我只能获取要发送的第一个文本字段。我已对齐文本字段 id 标记以匹配复选框数据 id 标记。我的功能有效,但仅适用于第一对。之后所有的东西都被发送到没有团队名称的购物车。
jQuery(function($) {
$('table .quantity:first').focus();
$('.add-to-cart-order-form').click(function() {
$('.add-to-cart-order-form').addClass('disabled').attr('disabled','disabled');
// Resetting.
Shopify.itemsToAdd = [];
$('.quantity').each(function() {
var quantity = parseInt($(this).val(), 10);
var did = $(this).attr('data-id')
var idname;
if (did == $('.tname').attr('id')) {
var idname = $('.tname').val();
};
if (this.checked) {
Shopify.itemsToAdd.push( { id: $(this).attr('data-id'), quantity: quantity, properties: { tname: idname}} );
}
});
if (Shopify.itemsToAdd.length) {
Shopify.addItemstoTheCart();
}
else {
alert('All quantities are set to zero.');
$('.add-to-cart-order-form').removeAttr('disabled').removeClass('disabled');
}
});
});
应该是:
Shopify.itemsToAdd.push( { id: $(this).attr('data-id'), quantity: quantity, properties: { tname: "walker"}} );