JQuery Slider - 记住ASP.net页面之间的值

时间:2013-02-15 14:50:06

标签: asp.net jquery-ui jquery

如何记住JQuery滑块中的值并将其设置为用户在页面更改时选择的内容?

我正在使用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"));


  });

我想尽可能避免使用cookies。

1 个答案:

答案 0 :(得分:3)

我建议使用localStorage。您可以非常轻松地使用Javascript设置/获取值。

也许尝试这样的事情:

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

现在您可以从任何页面检索该值:

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

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

localStorage浏览器兼容性(MDN):

  • Chrome 4 +
  • Firefox 3.5 +
  • IE8 +
  • Opera 10.40 +
  • Safari 4 +