1

以下を使用してデータテーブルを作成します。

 $('#purForm').dataTable({
        "bRetrieve": true,
        "bJQueryUI": true,
        "sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
        "bPaginate": false,
        "bAutoWidth": false,
        "bFilter": false

    });

そして、編集のために datatables editable plugin を使用しました:

http://code.google.com/p/jquery-datatables-editable/wiki/EditCell

したがって、基本的に編集可能にするために、次のことを行います。

$('#purForm').dataTable().makeEditable({
        sUpdateURL: function (value, settings) {
            return (value);
        }
    });

編集可能にした後、次を使用して動的に行を追加しようとしています:

 $('#purForm').dataTable().fnAddData(['', '', '', '', '', '']);

しかし、この動的に追加された行に対して編集可能が機能していません。これは、Jquery のライブ API を使用していない可能性があるため理解できます。これを修正して、動的に追加された行でも機能するようにするにはどうすればよいですか?

手っ取り早いハックは、再び関数を呼び出すことです。

$('#purForm').dataTable().makeEditable({
            sUpdateURL: function (value, settings) {
                return (value);
            }
        });

より良い代替手段はありますか?

4

1 に答える 1

2

これは既知のバグです。データテーブルでJeditableライブラリを使用すると、fnAddData()関数を使用して新しい行を追加することはできません。

バグレポートはこちらです:

http://code.google.com/p/jquery-datatables-editable/issues/detail?id=57

作者はこれがバグだとは思わず、一見複雑なプライベート関数の機能をコピーする以外に役立つヘルプを実際には提供していません。より簡単な方法を利用したい場合は、バグについてコメントを残して作成者に通知することを強くお勧めします。

参考までに、新しい行を追加して編集可能にするには、カスタムフォームを作成してから、フォームのフィールドから行データを送信する必要があります。こちらの手順をご覧ください:

http://code.google.com/p/jquery-datatables-editable/wiki/AddingNewRecords

于 2012-09-26T17:25:05.027 に答える