2014-02-24 38 views
0

我目前使用jQuery的cookie的按鈕jQuery的Cookie和變量

$('.vote').one('click', function(){  
    var cookieid = ($(this).data("id")); //cookie name 
    alert ($.cookie(cookieid)); //..etc 

這給了我一個文本框,說「不確定」。但是,我確實知道變量cookieid已被分配,因爲警報變量爲我提供了一個值。

此外,如果我使用我知道已分配的「cookieid」,此腳本正常工作。例如,我有一個名爲17的cookie。當我alert ($.cookie('17'));一切工作正常。

我敢肯定,問題不在我的代碼結束,所以可以jQuery cookie不處理變量?

編輯:

//creating cookie if none already exists 
var cookieid = ($(this).data("id")); //cookie name 
     if ($.cookie(cookieid) == 'active') //if cookie exists 
     { 
      //do nothing 
     } 
     else 
     { 
      $.cookie(cookieid, 'active'); 
     } 

回答

1

($(this).data("id"))返回一個數字。

alert(typeof $(this).data("id")); //number 

嘗試將其轉換爲字符串:

alert ($.cookie(cookieid.toString())); 

這裏有一個工作示例:jsfiddle

+0

嗯,確實該cookie轉換成僅需要提醒的字符串?我只是對示例使用了一個警報,也許這是唯一不起作用的地方。我已經編輯了關於如何使用它的其他信息。 –

+0

- 編輯,讓它工作!謝謝。 –

+1

如果您的數據屬性值是一個數字,this.data('id')將返回一個數字,但如果值是字符串,它將返回一個字符串。我想這就是爲什麼它不起作用。 – comrade