0

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、私は絶食するつもりでした。それはキャッシングの問題だけでした。新しいバージョンでは、すべてが正常に機能しています。

4

1 に答える 1

0

もしあなたがそうするなら:

  1. jQuery
  2. データテーブル
  3. jQuery

2 番目の jQuery は、最初の jQuery (DataTable がアタッチされている) を上書きします。したがって、利用できない jQuery オブジェクトになってしまいDataTablesます。

多くの人を悩ませているため、jQueryが2回ロードされたというエラーを出さないのは少しイライラします

参照

于 2015-06-18T07:48:33.047 に答える