2013-02-15 69 views
2

如何記住JQuery滑塊中的值並將它們設置爲頁面更改時用戶選擇的內容?JQuery滑塊 - 記住頁面之間的值ASP.net

我正在使用JQuery滑塊,點擊按鈕時會加載一個新頁面,並且這些頁面也在該頁面上。當這些頁面加載時,我需要將滑塊設置爲與上一頁中選擇的值相同的值。當用戶回到上一頁時,我也需要這些值。

目前它只是重置回我設置的默認值。

我已經存儲在會話按鈕值點擊

Session["TermYears"] = hdYears.Value.ToString(); 

,但我不知道如何使用JQuery的頁面加載時設置的值。

我有一個隱藏字段

<asp:HiddenField ID="hdCover" runat="server" /> 

我的代碼如下

 $(function() { 
     $("#coverAmountSlider").slider({ 
      range: "min", 
      value: 150000, 
      min: 5000, 
      max: 1000000, 
      step: 1000, 
      slide: function (event, ui) { 
       $("#amount").val("£" + ui.value); 
       $("#hdCover").val(ui.value); 
      } 
     }); 
     $("#amount").val("£" + $("#coverAmountSlider").slider("value")); 
     $("#hdCover").val($("#coverAmountSlider").slider("value")); 


    }); 

我想盡可能避免使用cookie。

+0

嘗試添加一個隱藏字段,並保持在隱藏字段該值,並呼籲從滑塊值。 – coder 2013-02-15 14:52:06

+1

'localStorage'也是一個選項,如果你支持IE8 + – Ryan 2013-02-15 14:54:19

回答

3

我建議使用localStorage。您可以非常輕鬆地使用Javascript設置/獲取值。

也許嘗試這樣的事:

// Get the localStorage value from a different page 
var sliderValue = localStorage["sliderValue"]; 

$("#differentSlider").slider("value", sliderValue); 

localStorage瀏覽器的兼容性(MDN):

// Set the localStorage value 
$("#coverAmountSlider").slider({ 
    ... // Your current options 
    stop: function (event, ui) { 
     localStorage["sliderValue"] = ui.value; 
    } 
}); 

現在你可以從任何頁面檢索值

  • 鉻4+
  • 杉木EFOX 3.5+
  • IE8 +
  • 歌劇10.40+
  • 的Safari 4+
+0

這正是我正在尋找,工作的一種享受,我不知道本地存儲,謝謝。 – saintsfanuk 2013-02-18 15:25:49