Как добавить значение в куки в javascript - PullRequest
3 голосов
/ 31 января 2012

Прошло 15 лет с тех пор, как я установил значение cookie с помощью javascript ...

document.cookie = 'key=value';  //got that ...

Как добавить другое значение с тем же ключом?Я хочу создать список значений (page = 1,34,48,59 ...), который я затем смогу прочитать и зациклить.Или есть лучший способ?

Ответы [ 2 ]

4 голосов
/ 31 января 2012

Укажите их всех один раз, например:

var value = ['1', '2', '3', 'n'].join(',');
document.cookie = 'key=' + value;

, где 'key=' + value теперь будет:

key=1,2,3,n

Или, в качестве альтернативы, сначала прочитайте ваши данные из cookie и добавьте новые данные:

var keycookie = // read your cookie here
keycookie += 'new stuff';
document.cookie = 'key=' + keycookie;
2 голосов
/ 06 августа 2013
// name is cookie name
// value is cookie value
// days is life time of it
function setCookie(name,value,days) {
var date = new Date();
date.setTime(date.getTime() + ( 1000 * 60 * 60 * 24 * parseInt(days)));

parts = $.cookie(name);
if (!parts || parts == 'undefined') {
    $.cookie(name, value, {path: '/', expires: date });
    return;
}

parts = parts.split(",");
if (parts.length > 0) {
    // search same item and delete
    // if already have , delete it
    for (var i=0; i<parts.length; i++) {
        if (value == parts[i]) {
            parts.splice(i, 1);
        }
    }
    parts.push(value);

    // if over 50, just do 50
    newparts = [];
    if (parts.length > 50) {
        for (var i=parts.length - 50; i<parts.length; i++) {
            newparts.push(parts[i]);
        }
    }
    else {
        newparts = parts;
    }
    $.cookie(name, newparts.join(","), {path: '/', expires: date });
}
else {
    $.cookie(name, $(this).attr("id"), {path: '/', expires: date });
}};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...