1

ここに私の問題文を掲載しています。

ユーザーがドロップダウンからオプションを選択します。選択した値がページに表示されます。ただし、ユーザーがページを更新すると、選択した値がページから消えます。

ページを更新する前に、その値を選択した値にする必要があります。これは、js/jquery を使用して可能ですか。

これを達成する方法を教えてください!

よろしく

4

3 に答える 3

3

これを行うには、いくつかの解決策があります。

  1. ユーザーがオプションを選択するたびに、選択したオプションを使用してサーバーに http 要求を送信します。ユーザーがページを更新すると、jsp は収集された情報を使用してオプションを事前に選択します。jQueryの共通点$.getは、クライアント側でトリックを行います。
  2. 選択したオプションで Cookie を設定します。ページが更新されたら、Cookie の値を取得し、それを使用してオプションを事前に選択します。これを行うためにjQueryは必要ありませんが、役立つ場合があります。
  3. ブラウザがサポートしている場合はlocalStorage、Cookie の代わりに使用してください。これはクライアント側のみのソリューションであるため、情報はサーバーに送信されません。
  4. オプションを格納する URL のハッシュを設定します。

    location.replace("#option=" + val);

    を使用してページを更新すると、値を取得できますlocation.hash

于 2012-07-06T08:36:59.917 に答える
0

ここにはいくつかのオプションがあります。

以前の状態を保存する jQuery を使用して Cookie を設定できます。すばらしいチュートリアルがここにあります: http://www.electrictoolbox.com/jquery-cookies/

URL のオプションをクエリ文字列でエンコードすることもできます。それに関するいくつかの情報はウィキペディアにあります: http://en.wikipedia.org/wiki/Query_string

どちらが必要かはあなた次第です。ユーザーがページを離れて別の時間にアクセスした場合に設定を保持したい場合は、Cookie を使用します。クエリ文字列は、更新によって設定がクリアされるのを防ぐのに役立ちます。

于 2012-07-06T08:32:04.737 に答える
0

Cookie プラグイン (http://plugins.jquery.com/project/Cookie) を使用する:

$("#MyList").change(function() {
    //Set a cookie with selected value on change.
    $.cookie("SelectedItem", $(this).val());
});

$(document).load(function() {
    //On load, set the selected item from the cookie.
    $("#MyList").val($.cookie("example")); 
});
于 2012-07-06T08:32:14.100 に答える