使用jQuery将数据从一个页面传递到另一个页面

时间:2010-11-17 17:56:41

标签: jquery

我需要根据结帐页面上的数据制定网址字符串。我需要从购物车中的商品中获取所有产品代码,数量和价格,并创建一个字符串以用于联盟会员跟踪。此字符串需要在结帐页面上呈现。这是html结构。

<span class="productCodeID">
<div class="productitemcell">123456</div>
<div class="productitemcell">789123</div>
</span>
<span class="productQuantityID">
<div class="productitemcell"><input type="text" value="3"></div>
<div class="productitemcell"><input type="text" value="1" ></div>
</span>
<span class="productPriceID">
<div class="productitemcell">$15.00</div>
<div class="productitemcell">$19.50</div>
</span>

我需要建立的是:

&skulist=123456,789123&pricelist=15.00,19.50&quantitylist=3,1

此字符串需要传递到确认页面。只是寻找一些如何实现这一目标的指导。提前谢谢!

3 个答案:

答案 0 :(得分:2)

function buildList(items, name) {
  var values = [];
  items.each(function() {
    values.push(this.value || $(this).text());
  });
  return name + '=' + values.join(',');
}

var result = [
  buildList($('.productCodeID > .productitemcell'), 'skulist'),
  buildList($('.productQuantityID > .productitemcell > input'), 'quantitylist'),
  buildList($('.productPriceID > .productitemcell'), 'pricelist')
];

var string = result.join('&');

Working example on JSBin

答案 1 :(得分:0)

你可以使用这样的东西(详细

var skulist = [], pricelist = [], quantitylist = [];

 $('.productCodeID .productitemcell').each(function(){
 skulist.push( $(this).text() );
});
$('.productQuantityID .productitemcell input').each(function(){
 pricelist.push( $(this).val() );
});
$('.productPriceID .productitemcell').each(function(){
  quantitylist.push( $(this).text().replace('$','') );
});

query = '&skulist=' + skulist.join(',') +
    '&pricelist=' + pricelist.join(',') +
    '&quantitylist=' + quantitylist.join(',');

http://www.jsfiddle.net/gaby/792xP/

的示例代码

答案 2 :(得分:0)

我查询html元素并将其值连接到String。

<input type="button" value="nextPage" onclick="nextPage();">
<script type="text/javascript">
    function nextPage(){
        // productCode
        var qs = '&skulist=';
        $.each($('span.productCodeID div'), function(){
            qs += $(this).html()+',';
        });
        qs = qs.substr(0, qs.length-1);

        // price
        qs += '&pricelist='
        $.each($('span.productPriceID div'), function(){
            qs += $(this).html().substr(1)+',';
        });
        qs = qs.substr(0, qs.length-1);

        // quantity
        qs += '&quantitylist='
        $.each($('span.productQuantityID div input'), function(){
            qs += $(this).val()+',';
        });
        qs = qs.substr(0, qs.length-1);

        // jump to nextPage
        location.href = 'nextpage.html' + qs;
    }
</script>