2

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"));


  });

できればクッキーの使用は避けたいです。

4

1 に答える 1

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):

  • Chrome4以降
  • Firefox3.5以降
  • IE8 +
  • Opera 10.40 +
  • Safari 4+
于 2013-02-15T15:42:51.633 に答える