0

在我之前的问题中,我请求帮助以特定语法改进 URL 的输出,我现在已经设法做到这一点,但仅限于一个实例。

我研究的是我应该使用缓存来存储这些多个 URL 值,然后在适当的时候提交所有这些值?

如果您将鼠标悬停在众多产品之一的“购买”按钮上,您将看到具有以下语法的 URL/链接:

add?category_id=2&product_id=# 

在产品和结帐之间解析的值

我已经在我的动态购物车系统中复制了这种行为(以红色标出),但是它只会在点击时推送 URL。有没有办法在点击之前将它分配给我的提交按钮?

在此函数中创建和调用 URL:

$('.checkOut').live('click',function(){
    var products= new Array();
    $(".jshop_prod_cart").each(function(){
        var product = new Object();
        product.catid = $(this).find('[name="category_id"]').val();
        product.id = $(this).find('input[name="product_id"]').val();
        product.qanty = $(this).find('input[name^="quantity"]').val();
        products.push(product);
        $.ajax({
            //type: 'POST',
            //data:products,
            //dataType: 'json',
            url: "shop-portal/add?category_id="+products[0].catid+"&product_id="+products[0].id+"&quantity="+products[0].qanty
        });
    });
});

除非有办法将它强制到 URL 地址栏中,因为它似乎根本没有到达那里,它只是在后台运行......(我认为)

还有更多的“控制器”文件,此扩展程序中的许多内容都可以查询。如何?我真的不知道...如果有人尝试过修改或自定义Joomshopping的后端脚本,请帮助!

4

1 回答 1

0

您可以在页面加载时执行此操作,例如:

var products= [];
$(document).ready(function() {
    $(".jshop_prod_cart").each(function(){
      var product = new Object();
      product.catid = $(this).find('[name="category_id"]').val();
      product.id = $(this).find('input[name="product_id"]').val();
      product.qanty = $(this).find('input[name^="quantity"]').val();
      products.push(product);
    });
});

并点击

$(document).on('click', '.checkOut' ,function(){
  //your ajax code here
});

添加,您可以使用jQuery.on()以防您的 url 被动态加载,例如:

$(document).on('click', '.checkOut',function(){
   //your code here
});
于 2013-05-23T06:16:32.117 回答