以下のコードを使用して、ID、クラス、およびイベントを DataTables に新しく追加されたセルに追加する必要があります。どうすればそれを達成できますか?
var rtn = oTable.fnAddData(['Cell1Value', 'Cell2Value', 'Cell3Value']);
この新しく追加されたセルをクリックすると、javaScript 関数を起動しようとしています。
以下のコードを使用して、ID、クラス、およびイベントを DataTables に新しく追加されたセルに追加する必要があります。どうすればそれを達成できますか?
var rtn = oTable.fnAddData(['Cell1Value', 'Cell2Value', 'Cell3Value']);
この新しく追加されたセルをクリックすると、javaScript 関数を起動しようとしています。
少し不格好ですが、このようなことを行うことで、探しているものを達成できます。
HTML
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example" width="100%">
<thead>
<tr>
<th>Rendering engine</th>
<th>Browser</th>
<th>Platform(s)</th>
<th>Engine version</th>
<th>CSS grade</th>
</tr>
</thead>
<tbody>
<tr class="odd gradeX">
<td>Trident</td>
<td>Internet
Explorer 4.0</td>
<td>Win 95+</td>
<td class="center"> 4</td>
<td class="center">X</td>
</tr>
<tr class="even gradeC">
<td>Trident</td>
<td>Internet
Explorer 5.0</td>
<td>Win 95+</td>
<td class="center">5</td>
<td class="center">C</td>
</tr>
<tr class="odd gradeA">
<td>Trident</td>
<td>Internet
Explorer 5.5</td>
<td>Win 95+</td>
<td class="center">5.5</td>
<td class="center">A</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Rendering engine</th>
<th>Browser</th>
<th>Platform(s)</th>
<th>Engine version</th>
<th>CSS grade</th>
</tr>
</tfoot>
</table>
<button id="addnewrow">Add New Row</button>
JS
$('#addnewrow').click(function(){
//add row
var newRow = $('#example').dataTable().fnAddData( [
"1",
"2",
"3",
"4",
"5"]
);
//change cell attributes
var oSettings = dataTable.fnSettings();
var nTr = oSettings.aoData[ newRow[0] ].nTr;
$('td', nTr)[0].setAttribute( 'id', 'newid1' );
$('td', nTr)[1].setAttribute( 'id', 'newid2' );
$('td', nTr)[2].setAttribute( 'id', 'newid3' );
$('td', nTr)[3].setAttribute( 'id', 'newid4' );
$('td', nTr)[4].setAttribute( 'id', 'newid5' );
});
次に、新しいIDまたはクラスのクリックを次のように委任するだけです
$('table').delegate('#newid1','click', function(){
alert('clicked on new cell 1')
})