私はdataTablesを使用して1つのページに複数のテーブルを持っています。それぞれが独自の'AjaxSource 'を持つ必要があります。私はこれを行う方法を正確に把握していないようです。私が持っている最小限のコードは次のとおりです。複数のデータテーブルが同じページにあり、異なるAjaxソースを持つ
var oTable = $('.datatable').dataTable({
"bProcessing": true,
"sAjaxSource": "/ajax/function",
"bSort": false,
"fnDrawCallback": function() {
//some click events initilized here
}
});
これは基本的にベアボーンの設定です。各テーブルはデータ可能クラスと一意のIDです。しかし、特定のテーブルに基づいてAjaxSourceをどのように変更するかはわかりません。
ありがとうございました!
EDIT:
は、ここに私がやってしまったものです:
$('.datatable').each(function(index){
$('#'+$(this).attr('id')).dataTable({
"bProcessing": true,
"sAjaxSource": $(this).children('caption').html(),
"bSort": false,
"fnDrawCallback": function() {
}
});
});
テーブルインサイド私は、CSSによって隠され、AjaxのソースURLが含まれているキャプションタグを置きます。各インスタンスを繰り返し実行し、URLを取得します。
これはこれまでのところ動作しているようです。
ええ、そうかもしれませんが、私はそれぞれの新しい初期化を使いたくないのですが、非常に面倒な作業がかなり早くなります。 – dzm
さて、各データテーブルの個別の初期化を持たずに、各データテーブルの個別の初期化を行うのはかなり難しいことです。クラスに基づいて共通の初期化を試してから、ソース属性のみを指定してより小さな初期化を分けて、共通のコードを繰り返さないようにすることができます。 –
私のポストは、うまくいくと思われるソリューションで更新しました。あなたはどう思いますか?何か問題を参照してください? – dzm