ホームページ > 記事 > ウェブフロントエンド > 複数の jquery.datatable の共存、異常なチェックボックスの選択に対する迅速な解決策_javascript スキル
【問題の原因】
これは jquery.datatable コントロール自体の欠陥であるはずです。このコントロールのチェックボックス プラグインの ID はハードコーディングされているため、ページ上で複数のデータテーブルが参照されている場合、select all イベントはすべてのデータテーブルと一致し、複数のテーブルのすべてのチェックボックスが選択されます。
【解決策】
そのため、jquery.datatable コントロールを変更し、生成された各データテーブルの下のチェックボックスに異なる ID を与えることが最善です。データテーブルの ID は異なるため、データテーブルの ID をチェックボックスのプレフィックスとして使用できます。一意のIDを形成します。イベントを呼び出すには、このチェックボックスの特定の呼び出しイベントも同期し、この新しい ID に置き換える必要があります。
[ファイルを変更]
jqurey.datatable.ext.js (v0.0.1)
1. init メソッドを変更します:
$("#" options.select_table).find('thead tr th:first-child')
.prepend('');
$("#" $.fn.datatable_ext.defaults.select_table "_chk_all").click(function(){
==>
if(checked_chk_num == curr_page_chk_num){
$("#" $.fn.datatable_ext.defaults.select_table "_chk_all").attr('checked', 'checked');
}else{
$("#" $.fn.datatable_ext.defaults.select_table "_chk_all").removeAttr('checked');
}