私はjQueryDataTablesを使用して、次のスクリプトを使用して行を追加および削除できるテーブルを作成しています。行の
追加:
var row_count = 1;
$(document).ready(function() {
$('#my_table').dataTable();
} );
function fnClickAddRow() {
$('#my_table').dataTable().fnAddData( [
"<input type=\"text\" name=\"fieldA\"" + row_count + " value=\"\" />",
"<input type=\"text\" name=\"fieldB\"" + row_count + " value=\"\" />",
// ...
] );
row_count++;
}
この例に示すように。
次に、別のスクリプトを使用して行の選択と削除を追加します。
var oTable;
$(document).ready(function() {
/* Add a click handler to the rows - this could be used as a callback */
$("#my_table tbody tr").click( function( e ) {
if ( $(this).hasClass('row_selected') ) {
$(this).removeClass('row_selected');
}
else {
oTable.$('tr.row_selected').removeClass('row_selected');
$(this).addClass('row_selected');
}
});
/* Add a click handler for the delete row */
$('#delete').click( function() {
var anSelected = fnGetSelected( oTable );
if ( anSelected.length !== 0 ) {
oTable.fnDeleteRow( anSelected[0] );
}
} );
/* Init the table */
oTable = $('#my_table').dataTable( );
} );
/* Get the rows which are currently selected */
function fnGetSelected( oTableLocal )
{
return oTableLocal.$('tr.row_selected');
}
行の追加関数(fnClickAddRow())は、HTMLでコード化された行の削除関数と同様に正常に機能します。ただし、テーブルオブジェクトに追加された行は選択できないため、削除できません。追加した行を選択可能にするには、データ配列に何を追加する必要がありますか?