jQueryデータテーブルプラグインを使用しているテーブルにボタンのある列があります。ボタンには「削除」と表示され、そのボタンをクリックすると、テーブルの現在の行が削除されます。
私が呼び出すfnDeleteRow
と、最初は機能しているように見えますが、その行はそれ以上機能しないため、実際には行が適切に削除されていないように見えます。
jQueryデータテーブルプラグインを使用しているテーブルにボタンのある列があります。ボタンには「削除」と表示され、そのボタンをクリックすると、テーブルの現在の行が削除されます。
私が呼び出すfnDeleteRow
と、最初は機能しているように見えますが、その行はそれ以上機能しないため、実際には行が適切に削除されていないように見えます。
これを試して:
var row = $(this).closest("tr").get(0);
oTable.fnDeleteRow(oTable.fnGetPosition(row));
動作しない場合は、次の例を確認してください
ユーザーがボタンをクリックしたときに呼び出される関数をアタッチしたとします。関数は次のようになります
function DeleteRow(event)
{
//get the row of the cell that is clicked
var $row = $(this).parents("tr").eq(0)
//if you need the id you can get it as
var rowid = $row.attr("id");
//now you can call delete function on this row
$row.delete();
}
これはどう:
// Delete Row
$('.glyphicon-minus').on("click", function() {
configTable.row($(this).closest("tr").get(0)).remove().draw();
});
このページから:
$('#example tbody td').click( function () {
/* Get the position of the current data from the node */
var aPos = oTable.fnGetPosition( this );
//...
} );
これは私にとってそれがどのように機能するかです。ドキュメントレディ関数では、変換されたバージョンのHTMLテーブルを変数に割り当て、のボタンがクリックされると、JQueryを使用して親子を調べ、パラメーターとして取得した行をライブラリのfnDeleteRow()関数に送信します。
これがライブラリ関数からのコメントです。そして、図書館で言及されている例。
/**
* Remove a row for the table
* @param {mixed} target The index of the row from aoData to be deleted, or
* the TR element you want to delete
* @param {function|null} [callBack] Callback function
* @param {bool} [redraw=true] Redraw the table or not
* @returns {array} The row that was deleted
* @dtopt API
* @deprecated Since v1.10
*
* @example
* $(document).ready(function() {
* var oTable = $('#example').dataTable();
*
* // Immediately remove the first row
* oTable.fnDeleteRow( 0 );
* } );
*/
// And here's how it worked for me.
var oTable;
$("document").ready(function () {
oTable = $("#myTable").dataTable();
});
//Remove/Delete button's click.
$("a[name='deleteColumn']").click(function () {
var $row = $(this).parent().parent();
oTable.fnDeleteRow($row);
});