空のdataTableを初期化していたページがあり、selectからjqueryを変更した後に$ .getJSON()でjsonデータを取得しました。 .fnAddData.Likeこれでテーブル:jQueryのデータ型ページをサーバー側の処理に変更した後で壊れた
oTableDisk = $('#disk_connection_table').dataTable({
"bJQueryUI": true,
"iDisplayLength": 30,
"oLanguage": {
"sLengthMenu": tableLength
},
"fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull){
$(nRow).attr('id', aData[0] + "|<?php echo $this->hostInfo['name']; ?>|<?php echo $this->hostInfo['id']; ?>");
return nRow;
},
"aoColumns": [{"bSearchable": false, "bVisible": false}, null, null, null, null, null, null]
});
$('#disk_switch').change(function(){
$.getJSON('/host/getavailableports?type=disk&switch=' + $('#disk_switch option:selected').val(), function(data){
if(data[0]){
data.reverse();
oTableDisk.fnClearTable();
$.each(data, function(index){
//console.log(data[index]);
oTableDisk.fnAddData([data[index]['Item1'],
data[index]['Item2'],
data[index]['Item3'],
data[index]['Item4'],
data[index]['Item5'],
data[index]['Item6'],
data[index]['Item8']]);
});
enableEditable(oTableDisk);
}
});
});
これは、我々は情報の500の以上の行を処理するのに必要になるまで細かい仕事をしていたとのエラー「スクリプトが応答しなくなってきた」とIEを壊しました。
は今、私はすべての空のdataTableを初期化しますが、1を作成していないよと、このような選択メニューの変更:
$('#disk_switch').change(function(){
oTableDisk = $('#disk_connection_table').dataTable({
"bJQueryUI": true,
"iDisplayLength": 30,
"bProcessing": true,
"bServerSide": true,
"bDestroy": true,
"sAjaxSource": '/host/getavailableports?type=disk&switch=' + $('#disk_switch option:selected').val(),
"aaSorting": [[0, "asc"]],
"oLanguage": {
"sLengthMenu": tableLength
},
"fnRowCallback": function(nRow, aData, iDisplayIndex, iDisplayIndexFull){
$(nRow).attr('id', aData[0] + "|<?php echo $this->hostInfo['name']; ?>|<?php echo $this->hostInfo['id']; ?>");
return nRow;
},
"aoColumns": [{"bSearchable": false, "bVisible": false}, null, null, null, null, null, null],
"fnDrawCallback": function() {
$(oTableDisk.fnGetNodes()).click(function() {
enableEditable(oTableDisk);
});
}
});
制限、およびORDERBYを使用してクエリをサポートするためのコントローラとモデルを書き換えた後、引数私はデータを取得しているし、私のJSONオブジェクトが正しくフォーマットされているようです。問題は、今ではページ機能を持たないということです。または並べ替えの機能。表には、ページ分割の矢印がグレー表示されていることが示されています。列見出しをクリックしても実際には何も行われません。ページネーションリンクの上には、「クエリの正しい30エントリ(フィルタリングされた合計エントリ数483)の1から30を表示しています」と表示されます。
これは、ページが読み込まれた後にテーブルを読み込むことと関係がありますが、修正方法はわかりません。
ブラウザのコンソールを使用して戻り値を分析します。開始点が必要です。有効なjsonの場合、毎回同じデータを送信するサーバーのように聞こえます。 – charlietfl
これは、サイド処理。データの後にoTableDisk.fnAddData関数に "false"フラグを追加して修正しました。データが読み込まれた後でoTableDisk.fnDraw関数を呼び出します。もう1つの方法は、すべてのデータがロードされた後にテーブルを再描画することでした。 –