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);没有执行。
最佳答案
有几件事要考虑
您正在通过$('#delete')
上的ID选择。到目前为止,我知道您逐行有一个删除按钮,因此您将拥有多个具有相同ID的元素。这是不允许的。将CSS类添加到“删除”按钮(或使用现有的类),然后选择$('#posGridView .delete')
如果要动态添加行,则需要使用on
方法附加click事件。否则,新添加的行将没有点击处理程序。代码像这样$('#posGridView').on('click', '.delete', function(){...})
关于jquery - var anSelected = fnGetSelected(oTable)未执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10897661/