Ajaxsubmit是否已在Blueprint的Stencil中重命名?我需要在BigCommerce

时间:2017-01-17 17:01:07

标签: bigcommerce

TLDR:在Stencil中重命名了ajaxsubmit url参数,还是有更好的方法可以快速将多个不同数量的尺寸添加到购物车中?

我需要为每种尺寸的产品设置单独的数量框,以便客户可以订购运动队。我已经能够通过在templates / components / products / set-select.html中使用此代码使这种格式出现在前端:

{{#if display_name '==' 'Size'}}
    {{#each values}}
        <label>{{label}}</label>
        <input class="size-quantity" type="tel" name="{{id}}">    
    {{/each}}
    <script>
        sizeattributeid = {{id}};
    </script>
{{/if}}

我还创建了一个单独的“添加尺寸到购物车”按钮,用于触发循环浏览每个.size-quantity框的功能,以收集每个name和“val”所以我可以把它提交到购物车。

我的第一个想法是通过像这样的jQuery的ajax请求来做到这一点:

 productid = jQuery('input[name="product_id"]').val();


    jQuery('.size-quantity').each(function() {
        qty_value = jQuery(this).val();
        sizeattributevalue = jQuery(this).attr('name');
        $.ajax({
            type: 'GET',
            url: cartUrl+'?action=add&amp;product_id='+productid+'&amp;qty[]=qty_value&amp;attribute['+sizeattributeid+']='+sizeattributevalue+'&amp;ajaxsubmit=1&amp;fastcart=1',
            success: function(data) {
                        //parse bigcommerce html reponse
                        var obj = JSON.parse($(data).html());
                        //success property = true if item was added successfully
                       if (obj.success) {
                           console.log('yay!');
                        } else {
                           console.log('fail!');
                        } 
                 }
            }); 
     });

如果我将生成的网址粘贴到浏览器中,我已经能够获得精心设计的网址以将产品添加到购物车...但我无法使用ajax。似乎它们的代码中的ajaxsubmit部分不能与Stencil一起使用它与Blueprint一起使用的方式。

此代码是否已重命名?我唯一的替代方法是隐藏大小的选择框和数量框,然后在每个尺寸的提交循环中,让数量框填入所需数量并提交表格......但这很慢而我能够实现这一目标的唯一方法是将我的请求一次隔开600毫秒,这是一个令人无法接受的等待。

0 个答案:

没有答案