2012-04-15 11 views
0

内のすべてのチェックボックスをチェックしてください。jQueryのは、私はindex.phpの内部に以下のJavaScriptコードを持っているデータテーブル

$(function() { 
    $('.checkall').click(function() { 
      $(this).find(':checkbox').attr('checked', this.checked); 
    }); 
}); 

を私はアヤックスを介して情報を取得し、jQueryのデータテーブルを使用して、その情報からテーブルを作成し、データテーブルheadの内側に私が持っていますclass='checkall'のチェックボックス。

なぜ頭の中にあるチェックボックスは、他のすべてのチェックボックスをajaxで取得しますか?

*私はFirebugの

内部エラーが*私はHow to check every checkboxes in a jquery datatable?をチェックし、まだそれを得ることはありません... :(

答えて

1
$(function() { 
    $('.checkall').click(function() { 
      $(':checkbox').not(this).attr('checked', this.checked); 
    }); 
}); 

作品あなたの頭のチェックボックスと、あなたが経由でロードしている場合は、GreyBeardedGeekが言ったことに加えて

+0

今...私のため – Eric

+0

作品を動作しませんでした、私は要素にコードを直接追加: のonclick = "$(\ ':チェックボックス\')ではない(これ).ATTR。 (\ 'チェック\'、this.checked); " – Eric

1

私はあなたの問題は$(この)のご利用で、おそらくだと思いません取得、。

のfind()は、ノードの子孫を見つけ、確認したいのチェックボックスは、チェックボックスの子孫ではありませんこれはおそらく「checkall」のチェックボックスを参照します。

あなたが引用例が正しいを示しそれを行う方法、rによってeferenceingのdatatable.fnGetNodes()

0

を、チェックしたいもの以外のページには、他のチェックボックスが存在しない場合ajax、あなたのチェック・チェック・ボックスがajax呼び出しによって作成され、DOMに挿入されている場合、クリック・イベントは発生しません。この場合、 "on"(またはjQueryのバージョンによっては "live")を使用してください:http://api.jquery.com/live/。例:

$(document).on("click", ".checkall", 
    function(){ $(this).find(':checkbox').attr('checked', this.checked); }); 
関連する問題