2011-01-19 6 views
0

私のページにいくつかのチェックボックスをスタイルするjqueryコードがあります。私もテーブルを持っています。この表は、ページがロードされたときにすべての行を表示しないため、ajaxリクエストを使用して残りの行をロードする必要がありません。問題は、そのajaxでロードされた行のチェックボックスがスタイルされないことです。私はajaxでロードされているチェックボックスにチェックをつけてスタイリングするチェックボックスを継承したい。ajaxでロードされたときにjqueryコードを継承する

答えて

0

新しいチェックボックスがロードされたら、jQueryコードをトリガーしてチェックボックスのスタイルを設定する必要があります(新しいもののみ)。あなたのコードやマークアップを見ることなく、あなたに直接答えを与えることは不可能ですが、例えば、jQueryコードがチェックボックスにクラスを追加したとします(おそらく、すべてではなく、スタイリング用)。

var cbsToStyle = $(":checkbox:not(.foo)"); 

を...そしてcbsToStyleリストのスタイル:そして、あなたは、単にそのコードは、これらのチェックボックスを除外するようにしてください必要があるだろう。

(live copy)

HTML(明らかにあなたと同じ、しかし示すものではない):jQueryの使用

<div id='container'> 
    <label><input type='checkbox'>Original checkbox</label> 
    <br><label><input type='checkbox'>Original checkbox</label> 
    <br><label><input type='checkbox'>Original checkbox</label> 
</div> 

のJavaScript:styleCheckboxesが最もある

jQuery(function($) { 
    var timer = 0, 
     counter = 4; 

    styleCheckboxes(); 
    timer = setInterval(loadCheckboxes, 1000); 

    function loadCheckboxes() { 
    var index; 

    if (--counter < 0) { 
     // Done 
     cancelInterval(timer); 
     timer = 0; 
    } 
    else { 
     // Mimic adding three checkboxes 
     for (index = 0; index < 3; ++index) { 
     $("<br><label><input type='checkbox'>Another checkbox</label>").appendTo('#container'); 
     } 

     // Re-trigger the styling code 
     styleCheckboxes(); 
    } 
    } 

    function styleCheckboxes() { 
    // Get only those we haven't styled before and style them. 
    // Note that the class is used as a marker (you might _also_ 
    // use it to apply some style rules) 
    $(":checkbox:not(.styled)").addClass("styled").css("width", "40px"); 
    } 

});​ 

...関連するビット。

+0

これは簡単でした。ありがとう! – Emil

+0

@エミール:心配しないで、喜んで助けました。 –

関連する問題