通过在文本框中输入多个产品ID,将多个产品添加到购物车

时间:2012-05-22 11:54:19

标签: javascript magento jquery e-commerce

我正在Magento中开发一个选项,客户可以在文本框中输入多个产品ID并将其添加到购物车。 我只能通过使用以下jquery在输入框中输入一个产品ID来执行此操作,

$(document).ready(function(){
        $("#submit").click(function(){
            var id = $("#nam").val();
            $.post("....../checkout/cart/add", { product:id },
            function(data) {
                alert("The Product is added to your shopping cart.");
                window.location.reload(true);
            });
        });
    });

var id获取输入框的值。

在输入框中,我正在获取一个产品ID,因此使用jquery.post()获取值并将其传递到添加产品页面没有问题。 但是,如果我在文本框中输入以逗号分隔的多个产品ID,我将如何获取每个产品ID并将其发送到添加产品页面以进行更新? 除了使用jquery.post()方法之外,还有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

您可以通过分隔符拆分ID并迭代生成的数组,将项目添加到购物卡。类似的东西:

$(document).ready(function(){
        $("#submit").click(function(){
            var ids = $("#nam").val().split(' '); // SPACE seperated Ids
            for(i = 0; i < ids.length; i++){
              var id = ids[i];
              $.post("....../checkout/cart/add", { product:id },
              function(data) {
                //alert("The Product is added to your shopping cart.");
                //window.location.reload(true);
              });
            }
        });
    });

在执行此操作之前,您必须清理文本框值。

答案 1 :(得分:0)

 $(document).ready(function () {
                $("#submit").click(function () {
                    var productIds = [];

                    $.each($("#nam").val().split(','), function (i, value) {
                        if (value.length > 0) {
                            productIds.push(value);
                        }
                    });

                    $.post("....../checkout/cart/add", { productIds: productIds },
                                                          function (data) {
                                                              alert('The' + (productIds.length == 1 ? 'Product' : 'Products') + ' is added to your shopping cart.');
                                                              window.location.reload(true);
                                                          });
                });
            });

            public ActionResult add(int[] productIds)
            {
                return Json(true, JsonRequestBehavior.AllowGet);
            }

您需要将产品ID数组返回到后期操作,然后才能实现。