2013-03-05 64 views
3

我需要存儲在臨時變量幾個元素,所以當我回到那個pahe我可以向他們展示在頁面加載如何存儲在HTML/jQuery的價值

我對8 li element但讓我點擊5 li ,所以我要存儲5 li ID某處

$("#divPopup").on("click", "li", function() { 
      ... 
       var newId = $this.attr('Id').replace("Left", "Right") 

       // here i want to store newID, each time user click on event, it should be unique values , i want to store in $('#hdnValueProjectBtn').val(newId); 
      } 
      else { 
       var newId = $this.attr('Id').replace("Left", "Right") 
       $('#' + newId).hide(); 
      } 
     }); 
+1

使用cookie存儲臨時值。 – smartmeta 2013-03-05 17:55:15

+1

Cookie或localStorage是您需要的。 – 2013-03-05 17:56:47

+0

是的,但我不想使用cookie – 2013-03-05 17:57:29

回答

1

您可以在支持的瀏覽器使用localStorage和後備Cookies在舊的,這裏有一個例子:

// store value 
if (window.localStorage !== undefined) { 
    window.localStorage.setItem("li_id", id); 
} else { 
    // WARNING: the following will overwrite current document cookie. 
    document.cookie = ["li_id", "=", id, "; domain=.", window.location.host, "; path=" + window.location.pathname + ";"].join(""); 

} 

// get value 
var savedValue; 
if (window.localStorage !== undefined) { 
    savedValue = window.localStorage.getItem("li_id"); 
} else { 
    savedValue = document.cookie.split(";")[0].split("=")[1]; 
} 

alert(savedValue); 

請注意,上面代碼段中的id是您想要存儲的值。

0

JimJimmy說的是對的。您是否使用任何服務器端腳本?

  • 如果您只使用客戶端腳本只有這樣,你就可以完成你的任務是 1)餅乾 2)localStorage的 3)的sessionStorage - 只爲那屆
0

您存儲數據一個在jQuery中使用數據的DOM節點,變量存儲在節點對象上。這是爲了適應複雜的對象和引用,將數據存儲在節點元素上,因爲屬性只能容納字符串值。

$('#foo').data('foo', 'baz'); 

console.log($('#foo').attr('data-foo')); 
//outputs "bar" as the attribute was never changed 

console.log($('#foo').data('foo')); 
//outputs "baz" as the value has been updated on the object