我可以通过fnAddData
向DataTable动态添加一行。添加新行后,td
的编辑按钮会显示btn-edit
。我打算使用btn-edit
作为选择器,但我无法在点击时调用它。
HTML
<button id="add-row">Add Row</button>
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td><button class='btn-edit' btn-id='1'>Edit</button></td>
</tr>
<tr>
<td>Garrett Winters</td>
<td>Accountant</td>
<td><button class='btn-edit' btn-id='2'>Edit</button></td>
</tr>
</tbody>
</table>
的jQuery
$(document).ready(function() {
$('#example').DataTable();
var obj = {3: {'name':'Rose','position': 'VP'}, 4: {'name':'Jack','position': 'Captain'}};
var count = 3;
$('#add-row').on('click',function() {
$('#example').dataTable().fnAddData( [
obj[count].name,
obj[count].position,
"<button class='btn-edit' btn-id='"+count+"'>Edit</button>"
]).draw();
count++;
});
$('.btn-edit').click(function() {
alert($(this).attr('btn-id'));
});
});
答案 0 :(得分:0)
这就是如何调用动态创建的DOM元素。
$(document).ready(function() {
$('#example').DataTable();
var obj = {3: {'name':'Rose','position': 'VP'}, 4: {'name':'Jack','position': 'Captain'}};
var count = 3;
$('#add-row').on('click',function() {
$('#example').dataTable().fnAddData( [
obj[count].name,
obj[count].position,
"<button class='btn-edit' btn-id='"+count+"'>Edit</button>"
]).draw();
count++;
});
$(document).on("click",".btn-edit",function(){
alert(1);
})
});
你可以测试working