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/

10-09 08:02