2011-12-13 21 views
2

これで誰も助けてくれますか?インターネットでjQueryでこれを行うスクリプトが見つかりません。ドロップダウンメニューの最後の状態を覚えておく必要があるので、ドロップダウンオプションが既に選択されています。クッキーの有効期限は90日にするか、スクリプトで指定させてください。私はすでに私のページでjQueryを使用していますので、このクッキースクリプトにjquery、jquery cookie pluginを使用します。前もって感謝します。私はプログラマーではないが、私は試してみる。ドロップダウンメニューの最後の状態を覚えておくためのJquery Cookie

// This replace onload 
$(function() { 
    // Read your cookie and other things up to you to do... 
    $.cookie('the_cookie'); 

    // on change of your select 
    $('select').on('change', function() { 
    // Set the cookie 
    $.cookie('the_cookie', 'the_value', { expires: 90, path: '/'}); 
    }); 

}); 

PS:私のスクリプトがある

<body onLoad="GETcookie()"> 
<select onChange="SETcookie()"> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
</select> 
+0

* Ahem。*クッキーを管理するためにjQueryは必要ありません。あなたのためにそれを管理する* Javascript *設定を見つけてください。 '' –

+1

これを読んで、最後に役に立つ機能があります:http://www.quirksmode.org/js/cookies.html –

+0

(* jQueryライブラリには '$ .cookie '$ .data()'のように機能していた '()'関数は、JavaScriptがJavascriptのバットの痛みです。* '') –

答えて

9

を満了し、あなたが得るとクッキーを設定することができ、90日に設定します。

あなたのコードは次のように少し何かになります。ここでは

//checks if the cookie has been set 

if($.cookie('remember_select') != null) { 

    // set the option to selected that corresponds to what the cookie is set to 

    $('.select_class option[value="' + $.cookie('remember_select') + '"]').attr('selected', 'selected'); 

} 

// when a new option is selected this is triggered 

$('.select_class').change(function() { 

    // new cookie is set when the option is changed 

    $.cookie('remember_select', $('.select_class option:selected').val(), { expires: 90, path: '/'}); 

}); 

はあなたselectは次のようになります。

<select class="select_class"> 
    <option value="1">Row 1</option> 
    <option value="2">Row 2</option> 
    <option value="3">Row 3</option> 
</select> 

ここjsFiddle上のそれのデモです:http://jsfiddle.net/RastaLulz/3HxCF/3/

をここにjQuery Cookieプラグインがあります。まだ持っていない場合はhttp://pastebin.com/CBueT8LP

+0

素晴らしい。 – ClosDesign

+0

これは選択ボックスでのみ有効ですが、複数の選択ボックスがある場合は、最初のものだけを記憶しています。複数の選択ボックスでこのコードを使用できますか? – JoMojo

1

まず体のonLoadを(小文字でのonLoadする必要があります)いたしませんが、私の例では、あなたのonloadを必要と をONCHANGEませんが、 jQuery 1.7(onのため)ので、最新の場合は見て!

編集:私は含まれてきたプラグインで

+0

私は試して、動作しなかったので、あなたはhttp://jsfiddle.netで私に例を与えることができますか?やはりプログラマではなく、どこかに乱れているに違いない。ありがとう。 –

+0

Josh Foskettはhttp://jsfiddle.net/RastaLulz/3HxCF/3/でこれをやっただけで、それを見ることができます。 – user1040899

関連する問題