10

私はjQueryが初めてなので、質問が単純すぎる場合は申し訳ありません。

私はこのようなことをしようとしています:

$("#send-one").html('done. ');

var tableProgress= $("<table id='table-progress'><tr><td></td></tr></table>");

$("#send-one").empty().append(tableProgress);

tableProgress.dataTable({
    "bPaginate": false,
    "bLengthChange": false,
    "bFilter": true,
    "bSort": false,
    "bInfo": false,
    "bAutoWidth": false
});

これはすべてjQuery ui Dialog Box内で発生します。

.dataTable() プラグインがテーブルを見つけられないためだと思うので、 jQuery $.whenを使用しようとしています。

エラーはこれです

キャッチされていない TypeError: 未定義のプロパティ 'asSorting' を読み取ることができません

必要なのは、挿入されたテーブルで .datatable プラグインを使用することです$("#send-one").html('done. ' + tableProgress)が、.datatable() を直接使用すると、挿入と同期しない場合があります。

私も試しました:

$("#send-one").html('done. ' + tableProgress);
$('#table-progress').dataTable();
4

6 に答える 6

8

私はこれをやった、それは動作します。明らかに、データテーブルの aoSorting に何らかの問題があります。どうしてか分かりません。

$("#send-one").html('done. ');

var tableProgress= $("<table id='table-progress'><tr><th></th></tr><tr><td></td></tr></table>");

$("#send-one").empty().append(tableProgress);

tableProgress.dataTable( {
    "aoColumns": [
          null
        ]
});
于 2013-06-27T19:43:57.967 に答える
1

dataTable columnFilter プラグインを使用している場合、これで問題が解決しました。

_fnColumnIndex を次のように変更するだけです。

function _fnColumnIndex(iColumnIndex) {
        return iColumnIndex;
}
于 2015-08-04T20:33:10.203 に答える
0
function someAction() {
            var tableProgress;
            tableProgress = $("<table id='table-progress'><tr><td></td></tr></table>");
            $("#send-one").append(tableProgress);
            tableProgress.dataTable();                                       
}

ドキュメントの準備ができたら、 にテーブルを追加し、その#send-one上で dataTable を呼び出します。id を使用しても意味がありません。jQuery オブジェクトにすでに含まれている可能性があるからです。

于 2013-06-26T13:58:31.137 に答える
0

非同期関数 (一部の AJAX 呼び出しなど) を呼び出さないため、$.when関数はここでは意味がありません。

最後の関数が完了した後に呼び出される関数を使用すると、次のコードが機能するはずです。

var tableProgress;
tableProgress = "<table id='table-progress'><tr><td></td></tr></table>";
$("#send-one").html('done. ' + tableProgress);
$('#table-progress').dataTable();  
于 2013-06-26T13:58:20.120 に答える