0

こんにちは私は次のselectリストのあるページを持っています

<select class="othdebt" id="othdebt" name="othdebt">
    <option value="Cate" >Categorical</option>
    <option value="Cont">Continuous</option>
    <option value="Data">Date</option>
</select>

他のページに移動してselectリストページに戻ったら、同じ選択されたオプションを表示したいと思います。

これを行うには、次のjQueryを使用します。

<script type="text/javascript">
    $(".othdebt").each(function(){
        var $titleId = $(this).attr('id');
        var $cookieValue = $.cookies.get($titleId);
        if ($cookieValue) {
            $(this).val($cookieValue);
        }                       
    });
</script>

しかし、これを行うための他の提案は機能していませんか?

4

4 に答える 4

0

idを間違って取得しています。これを試して:

var titleId = $(this).attr('id');

または、次のようにします。

var titleId = this.id;

$変数名の先頭からも削除したことに注意してください。この規則は、jQuery オブジェクトを含む変数用に予約されていますが、そうではありません。

于 2012-11-01T10:35:53.957 に答える
0

すべてのコードを document.ready() に保持します

編集: Cookieを設定するには

$(".othdebt").​change(function(){
    $.cookies('titleId',$(this).val());
});​

ページの読み込み中に Cookie を取得するには

document.ready(function(){
$(".othdebt").each(function() {
    //var titleId = $(this).attr('id');
    var $cookieValue = $.cookies.get('titleId');
    if ($cookieValue) {
        $(this).val($cookieValue);
    }
});
});
于 2012-11-01T10:36:06.427 に答える
0

まず、このネイティブ JavaScript 関数で Cookie を設定します。

document.cookie = 'othdebt=Data';

次に、これでクッキーを取得します

var objId = $('.othdebt').attr('id');
var cookieValue = document.cookie.match( '(^|;) ?' + objId + '=([^;]*)(;|$)' );
 if ( cookieValue )
    cv = ( unescape ( cookieValue[2] ) );
else
    cv = null;

cv は Cookie 値を保持します

 $(".othdebt option").each(function(){
  if (cv == $(this).val())
  {
    $('.othdebt').val(cv);
  }
});

私はすでにこれをテストしており、私にとってはうまくいきます;)

于 2012-11-01T10:50:56.497 に答える
0

最後に、私は自分自身のための解決策を見つけました

ここに デモがあります

/* Here's the actual code. */

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

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

}

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

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

});​
于 2012-11-01T11:33:54.087 に答える