2013-04-12 31 views
0

我使用jQuery創建了一個存儲id數組的cookie album_like,我想向此數組添加/推送新值一些條件得到滿足,下面是我的代碼如何使用JavaScript/jQuery將新值添加到存儲在cookie中的數組中

if (typeof $.cookie('album_like') == 'undefined') { 
    $.cookie('album_like', [data.album_id], { expires: 365, path: '/' }); 
} else { 
    var arr = [$.cookie('album_like')]; 
    if (!($.inArray(data.album_id, arr) > 0)) { 
     arr.push(data.album_id); 
     $.cookie('album_like', arr); 
    } 
} 

我發現陣列成爲["1, 2, 3, 4, 5"]當我用螢火蟲來檢查值,因此代碼!($.inArray(data.album_id, arr) > 0)不行,我覺得數組應該是[1, 2, 3, 4, 5]

任何人都可以對我的代碼提供一些建議?

謝謝

+0

我從來沒有使用jQuery的餅乾,但它聽起來像事情沒有得到JSON編碼/解碼。嘗試設置'$ .cookie.json = true;'。 –

回答

3

這是讓你的字符串作爲數組入口而不是數組。

var arr = [$.cookie('album_like')]; 

試試這個:

var arr = $.cookie('album_like').split(', '); // split string to array 
$.each(arr, function(i,v){ 
    arr[i] = parseInt(v); // convert string array entries to ints 
}); 

或者你可以使用JSON編碼存儲和檢索數組jquery save json data object in cookie

$.cookie.json = true; 
+0

@Charles,你使用了哪一個? – Fresheyeball

+0

我用了第一個,謝謝。 –

相關問題