如何从逗号分隔的cookie中删除特定值

时间:2014-07-18 09:25:42

标签: javascript jquery cookies

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

例如我添加了以下jQuery代码:

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

我得到了这个结果:

undefined, Chrysanthemum.jpg, Desert.jpg

现在,我希望从Cookie中删除undefined值,然后在相同的事情Chrysanthemum.jpg之后更新Cookie值。

如您所知,我想更新cookie值。

是否有可能因为我对jQuery不了解。如果你帮助我,我会很高兴:)

感谢。

2 个答案:

答案 0 :(得分:0)

如果您阻止首先添加undefined,则无需从字符串中删除undefined

第一次执行此代码时,cookie将不存在,因此您将单词var cookieVal = jQuery.cookie('dropzone_added'); jQuery.cookie('dropzone_added', cookieVal ? cookieVal + ', ' + a.name : a.name); 附加到字符串中。如果您更改逻辑以检查cookie是否存在,则可以避免这种情况:

{{1}}

答案 1 :(得分:0)

以下代码将检查cookie是否具有值,并仅在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);