2014-02-12 86 views
1

我想切換cookie與jquery cookie插件。這就是我的代碼的外觀。切換工作正常,cookie被設置。該cookie被保存在瀏覽器中,我可以使用Chrome開發人員工具查看該cookie,但切換狀態未被保存。jQuery切換餅乾不工作

if(jQuery.cookie('toggledesc') == 1){ 
      jQuery('.cat_table .hentry').addClass('active_plgn'); 
      jQuery('.cat_table .hentry .desc_trigger').removeClass("fa-plus-square-o").addClass("fa-minus-square-o"); 
      jQuery('.desc_inner').css({"display":"block"}); 

     } 

    //when clicked on .expand_desc set cookie/delete cookie 
    jQuery(".expand_desc").toggle(function() { 
     jQuery('.cat_table .hentry').addClass('active_plgn'); 
     jQuery('.cat_table .hentry .desc_trigger').addClass("fa-plus-square-o fa-minus-square-o"); 
     jQuery('.desc_inner').slideDown(); 
     jQuery.cookie('toggledesc', 1, { expires: 7, path: '/'}); 
    }, function() { 
     jQuery('.cat_table .hentry').removeClass('active_plgn'); 
     jQuery('.cat_table .hentry .desc_trigger').removeClass("fa-plus-square-o fa-minus-square-o"); 
     jQuery('.desc_inner').slideUp(); 
     jQuery.cookie('toggledesc', null); 
    }); 

請讓我知道我做錯了什麼。

感謝

回答

1

根據JQuery的Cookie的自述(https://github.com/carhartl/jquery-cookie)刪除的cookie有以下:

$.removeCookie('the_cookie'); 

您必須使用相同的路徑,域和安全選項,所以你的代碼,你應該請執行以下操作:

jQuery.removeCookie('toggledesc', { path: '/' }); 

我目前無法對此進行測試,但希望這可以解決您的問題。

+0

沒有工作:( – Towfiq

+1

這很奇怪,它不適合你,我爲它寫了一個jsFiddle,它看起來像預期的那樣工作http://jsfiddle.net/LbNU3/也許你可以寫出更多的代碼給我看看嗎? – user2437462

+0

你的示例jsfiddle工作不正常。當我點擊「切換」按鈕時什麼也沒有發生。 – Towfiq