2
var oTable = $('#posGridView').dataTable( {
"bPaginate": false,
"bFilter": false,
"bSort": false,
"bInfo": false,
"oLanguage": {
"sZeroRecords": "",
"sEmptyTable": ""
}

} );

$("#posGridView tbody").click(function(event) {
$(oTable.fnSettings().aoData).each(function (){
$(this.nTr).removeClass('row_selected');
});
$(event.target.parentNode).addClass('row_selected');
});

上面的代码工作正常,当我选择 row 时,它会突出显示。但是当我按下 Delete Button 时,选择的行没有被删除。

$('#delete').click( function() {
var anSelected = fnGetSelected( oTable );
oTable.fnDeleteRow( anSelected[0] );
} );

当我发出警报(anSelected)时,我知道语句 var anSelected = fnGetSelected( oTable ); 不执行。

4

1 回答 1

0

有几件事需要考虑

  • 您正在选择 id on $('#delete')。到目前为止,我了解您有一个逐行删除按钮,因此您将拥有多个具有相同 ID 的元素。这是不允许的。向删除按钮添加一个 css 类(或使用现有的)并像这样选择$('#posGridView .delete')

  • 如果您要动态添加行,则需要使用on方法附加点击事件。否则新添加的行将没有点击处理程序。代码将是这样的$('#posGridView').on('click', '.delete', function(){...})

于 2012-06-05T12:59:48.470 回答