0

過去2泊、以下のコードで苦労しています。問題は、展開された(または)折りたたまれたトグルセクションを覚えておく必要があり、ページのリロード時に、展開された(または)折りたたまれた状態でそれらを表示したことです。

$(function() {        
        $('tr.subCategory')            
        .css("cursor", "pointer")
        .attr("title", "Click to expand/collapse")
        .click(function() {        
               $(this).siblings('.RegText').toggle();            
     });
     $('tr[@class^=RegText]').hide().children('td');    
})

私はこのような別のフォーラムで小さな解決策を見つけました。「.subCategory」ID値をコンマで区切った値の非表示フィールドに保存します。

In Asp.net page:
<input id="myVisibleRows" type="hidden" value="<% response.write(myVisibleRowsSavedValue) %" />  

In .js:
var idsStr = $(#myVisibleRows).val();

今私の質問は:トグルをクリックしたときに非表示フィールドに複数の値(.subCategory id)を保存する方法は?また、それらを解析して繰り返し、IDを取得してトグルを表示する方法は?私はjQueryに非常に慣れていません。誰かがこれから私を助けてください。

4

1 に答える 1

4

この種の値をフォームに渡すことは、おそらくそれを行うための最良の方法ではありません。展開されたセクションIDなどを保存するためにCookieを使用することをお勧めします。実装がはるかに簡単で、リクエスト間で重要でないフォームデータを渡すことはありません。複数の値を保存したい場合は、join保存する前にそれらをシリアル化し(最も簡単なこと:JSの関数を使用split)、Cookieから読み取った後に逆シリアル化()することができます。

于 2010-05-08T19:33:03.843 に答える