url或cookies查询中的动态值和参数,如何?

时间:2012-06-12 10:46:53

标签: javascript jquery url cookies

我试图弄清楚如何在查询的特定部分添加,更改或删除值和参数。

我有一个Cookie $.cookie('productsInBasket', '&i=' + productId + '&q=' + productQty + '&c=' + productSize);,其中应该动态添加和删除productId,productQty和productSize。

所以它可以是&i=2441&q=1&c=2521&i=2441,2442,2443&q=1&c=2521&i=2441,2442,2443&q=1,3,14&c=2521,2522,2523或......你已经明白了。

实现这一目标的方法是什么?

谢谢!

P.S。那应该是jQuery或Javascript解决方案。

2 个答案:

答案 0 :(得分:0)

我不会说我的方式是正确的,但这是我自己的解决方法。

我简单地创建4个cookie,3个用于& i =,& q =,& c =和4th用于将它们合并在一起。

代码是:

$.cookie('productsInBasketItems', productId);
$.cookie('productsInBasketQty', productQty);
$.cookie('productsInBasketColors', productSize);

$.cookie('productsInBasketMerge', '&i=' + $.cookie('productsInBasketItems') + '&q=' + $.cookie('productsInBasketQty') + '&c=' + $.cookie('productsInBasketColors'));

这样我可以在我的页面中操纵每个值及其选项。

当然我觉得.split()里面有更优雅的方式.split(),但是我的知识不允许我花太多时间在那上面。

希望这对任何人都有帮助。

答案 1 :(得分:0)

假设你在数组中有你的值,

​var i = [1,2,3];
var q = [5,10,15];
var c = [100,200,300];

一个简单的函数可以从数组中构建你的cookie:

function createCookie(i,q,c){
    return ("&i="+i.join(',')+"&q="+q.join(',')+"&c="+c.join(','));
}

DEMO