DataTables と destroy に奇妙な問題があります。バージョン 1.10.3 (1.10.7 も試しました) と fixedColumns Plugin (3.0) を使用しています。テーブルを破棄しようとすると、プラグインでエラーが発生します。
キャッチされていない TypeError: $(...).fn は関数ではありません
私の初期化は次のようになります。
fulltable = $('#auditplan_table_fs').dataTable();
そして破壊
fulltable.fnDestroy();
しかし、私はまた、経由で初期化し、経由.DataTable()
で破壊しようとしました。これは同じ結果につながります.api().destroy()
。.destroy()
可能な解決策をいただければ幸いです。
更新: FixedColumns の問題ではないように思われるので、ここにいくつかの詳細情報があります。success
次のように ajax で dataTable を呼び出しています。
$('#auditplan_table_fs').append(responseData.findinglist.html);
fulltable = $('#auditplan_table_fs').dataTable({
scrollY: newheight,
scrollX: true,
scrollCollapse: true,
"bSort": false,
paging: false
});
new $.fn.dataTable.FixedColumns(fulltable);
ドキュメント変更関数 (ドロップダウンからいくつかの値を選択するとき) で、前に投稿したようにテーブルを破棄してから、ajax 関数を再度呼び出します。
変数はドキュメントのfulltable
準備ができて定義されており、既に述べたように、割り当てはsuccess
関数で行われます。破棄の直前に変数を出力すると、すべて問題ないようです。
更新: fixedColumns 自体のバグのようです。私は 3.0.0 を使用していて、最新バージョンは 3.0.4 であることがわかりました。これで、最初のエラーをパスして、新しいエラーを思いつきました。行 1107 でスタックします。
キャッチされていない TypeError: 未定義のプロパティ 'anCells' を読み取ることができません
ajax呼び出しでinitで何かをしなければならないと思います。
最終更新: OK、私は絶食するつもりでした。それはキャッシングの問題だけでした。新しいバージョンでは、すべてが正常に機能しています。