не могу получить оператор if с jquery cookie для работы - PullRequest
0 голосов
/ 28 января 2012

Хорошо, поэтому я использую этот https://github.com/carhartl/jquery-cookie, плагин jquery, и мне нужно сделать if (null){} else{}, но я не могу заставить его работать

$('.ff').click(function(){
        if ($.cookie('ff') == null)
        {
            $.cookie('ff', 'on', { expires: 1, path: '/' });
            alert($.cookie('ff')+' on?');
        }
        if ($.cookie('ff') == 'on')
        {
            $.cookie('ff', null);
            alert($.cookie('ff')+' offFFFFFFFFFFFFFFff?');
        }
    });

Что я делаю не так?

1 Ответ

1 голос
/ 28 января 2012

Измените свой второй if на else if.Кроме того, согласно документации плагина:

Примечание: при удалении куки-файла необходимо указать точно такой же путь, домен и параметры безопасности, которые использовались для установки куки-файла.

Поэтому убедитесь, что передали тот же параметр path при удалении cookie:

    if ($.cookie('ff') == null)
    {
        $.cookie('ff', 'on', { expires: 1, path: '/' });
        alert($.cookie('ff')+' on?');
    }
    else if ($.cookie('ff') == 'on')
    {
        $.cookie('ff', null, { path: '/' });
        alert($.cookie('ff')+' offFFFFFFFFFFFFFFff?');
    }

Если $.cookie('ff') ранее был нулевым, сначала он был установлен на 'on' внутри первого if блок.Затем второе условие оценивается как истинное, в результате чего для файла cookie снова устанавливается значение null.

Пример: http://jsfiddle.net/andrewwhitaker/azHK2/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...