【问题标题】:adding multiple produt to shopping cart by entering multiple product ID in a textbox通过在文本框中输入多个产品 ID 将多个产品添加到购物车
【发布时间】:2012-05-22 11:54:18
【问题描述】:

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

$(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() 方法之外,还有什么更好的方法吗?

【问题讨论】:

    标签: javascript magento jquery e-commerce


    【解决方案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);
                  });
                }
            });
        });
    

    在这样做之前,您必须清理文本框的值。

    【讨论】:

      【解决方案2】:
       $(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数组来发布操作,然后才能实现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多