2011-03-15 119 views
-1

注意:我剛纔發現這會使它工作:$.Storage.set("whichp", ""+myindex),加引號,然後加一個,然後是變量。爲什麼不用它只是像這樣的變量:$.Storage.set("whichp", myindex)?如果我甚至只是刪除報價,並留下加號,如下所示:$.Storage.set("whichp", myindex)它也不會工作。Jquery/Javascript:本地存儲插件不允許我存儲索引,爲什麼?我究竟做錯了什麼?

如果您的瀏覽器具有此功能,我正在使用存儲本地數據的Jquery plugin。如果不是,它會改爲存儲cookie。在開發者網站上他說:

名稱和值應該是字符串。某些瀏覽器可能會接受非字符串 的值,但並非全部都是。

設置數據的格式是:

$.Storage.set("name", "value") 

,並獲得價值:

$.Storage.get("name") 

我以爲我可以設置一個變量,然後插入var當成價值,像這個:

var myindex = $(this).index() 
$.Storage.set("whichp", mystring) 

但它不工作......如果我要這樣做Š雖然:

var mynote = "this is a test" 
$.Storage.set("whichp", mynote) 

那麼它會工作....我不明白爲什麼它不會讓我把索引存儲...

我這個點擊事件全代碼如下。

$('P').click(function() { 
     var myindex = $(this).index() 
    if (!$.Storage.get("whichp")) { 
     $.Storage.set("whichp", myindex)   
    } else { 
     alert($.Storage.get("whichp")) 
    } 
}); 

Jquery plugin

它只是沒有將其設置爲本地存儲/餅乾,它只是空的。

+1

設置'變種myindex = $(本)的.index()'你試過'alert'-ING的變量,'$(本)的.index()後'?另外:注意'.index()'後面缺少的分號。 – 2011-03-15 15:03:27

+0

是的,提醒它告訴我索引。我剛纔發現這會使它工作:'$ .Storage.set(「whichp」,「」+ myindex)',添加引號,然後是加號,然後是變量。爲什麼不用它只與變量一起工作? – 2011-03-15 15:16:02

回答

2

編輯:由於您已經計算出了錯誤和描述它的方式,因此我只能假設它正在發生,因爲Storage插件不會存儲數字。基本上我的索引是一個數字,當它返回時

$(this).index() 

調用。然而,做一個「」+ myindex將它轉換成一個字符串。要檢查理論,請嘗試此操作

$.Storage.set("whichp", myindex.toString()) 

您正在嘗試存儲未定義在任何位置的變量mystring。你不應該存儲變量myindex嗎?

這應該工作

$('P').click(function() { 
     var myindex = $(this).index() 
    if (!$.Storage.get("whichp")) { 
     $.Storage.set("whichp", myindex)   
    } else { 
     alert($.Storage.get("whichp")) 
    } 
}); 
+0

好抓;我不確定這不是一個錯字。:) – 2011-03-15 15:17:32

+0

啊對不起,這是一個錯字我放在這裏在stackoverflow時,這是在我的代碼中是正確的。我發現如何解決這個問題,這是我的問題的最重要的部分,但我不知道它爲什麼會像它那樣工作....? – 2011-03-15 15:20:33

+1

我修改了我的原始答案,以解釋爲什麼「」+ myindex可能有效! – Nikhil 2011-03-15 16:30:40

相關問題