2014-07-18 68 views
0

我正在使用jQuery cookie插件以逗号分隔的一个cookie中存储图像名称。现在我有点困惑如何从cookie中删除特定的值。如何从逗号分隔的cookie中删除特定值

比如我加入波纹管jQuery代码:

jQuery.cookie('dropzone_added', jQuery.cookie('dropzone_added') + ', ' + a.name); 

而且我得到这个结果:

undefined, Chrysanthemum.jpg, Desert.jpg 

现在我想删除的cookie undefined值,则更新cookie值,之后同样的东西Chrysanthemum.jpg

正如你所了解的,我想更新cookie值。

这是可能的,因为我对jQuery没有很好的知识。我会很高兴,如果你帮我:)

谢谢。

+0

第一次此代码运行时,'dropzone_added' cookie不存在,因此'undefined'被附加。我会解决这个问题,而不是破解一个字符串。 –

+0

@RoryMcCrossan你可以请指导我如何解决这个问题,以及如何更新jQuey饼干:) –

回答

0

如果您防止从第一个位置添加undefined,则无需从字符串中删除undefined

该代码首次执行时,cookie将不存在,因此您将单词undefined附加到字符串中。如果你改变你的逻辑来检查cookie的存在,就可以避免这样的:

var cookieVal = jQuery.cookie('dropzone_added'); 
jQuery.cookie('dropzone_added', cookieVal ? cookieVal + ', ' + a.name : a.name); 
+0

嘿,这是伟大的帮助,它的工作完美,但我仍然想了解如何更新cookie值,因为有时我想更新cookie值也。 –

+0

例如,如果我持有像'Chrysanthemum.jpg,Desert.jpg,Tulips.jpg'这样的值,我想从Cookie中移除'Chrysanthemum.jpg'。怎么可能? –

+0

这也会为您更新cookie值。如果你想删除一个已知的值,Rachits的正则表达式方法会起作用。 –

0

下面的代码将检查cookie拥有价值与否,并附加价值,只有当饼干具有价值

if (typeof jQuery.cookie('dropzone_added') === "undefined") { 
    jQuery.cookie('dropzone_added', a.name); 
else 
    jQuery.cookie('dropzone_added', jQuery.cookie('dropzone_added') + ', ' + a.name); 

替换/除去任何值可以使用sring.replace()函数

var cookieValue = jQuery.cookie('dropzone_added'); 
cookieValue.replace(/Chrysanthemum.jpg/gi, 'new value') 
jQuery.cookie('dropzone_added', cookieValue); 
+0

,但sring.replace()之后如何用更新的cookie重新初始化。 –

+0

我已经更新了我的答案。请检查 –

+0

好吧,我让我试试然后我会ping你:) –