Javascript jQuery DataTables复选框扩展无法在IE浏览器中正确检索所选数据
我使用jQuery datatables复选框扩展为我的表提供了多选功能。单击任何行的复选框时,我将检索所有选定行的第一个单元格的数据,并将其发送到服务器 该代码在Chrome浏览器中工作,但在IE浏览器中不工作Javascript jQuery DataTables复选框扩展无法在IE浏览器中正确检索所选数据,javascript,checkbox,datatables,Javascript,Checkbox,Datatables,我使用jQuery datatables复选框扩展为我的表提供了多选功能。单击任何行的复选框时,我将检索所有选定行的第一个单元格的数据,并将其发送到服务器 该代码在Chrome浏览器中工作,但在IE浏览器中不工作 $(document).ready(function () { var table = $('#tbl_inv').DataTable({ "paging": false, //"ordering": false, "
$(document).ready(function () {
var table = $('#tbl_inv').DataTable({
"paging": false,
//"ordering": false,
"info": false,
"searching": false,
'columnDefs': [
{
'targets': 0,
'checkboxes': {
'selectRow': true
}
}
],
'select': {
'style': 'multi'
},
'order': [[1, 'asc']]
});
$('#tbl_inv input[type="checkbox"]').on('change', function () {
$.ajax({
url: '/Invoices/Pickup?handler=CalcTotaltoPay',
data: {
invIds: $('#tbl_inv').DataTable().column(0).checkboxes.selected().join(),
clientId:1234
}
})
.done(function (result) {
freshResult(result);
});
// Iterate over all selected checkboxes
//$.each(table.column(0).checkboxes.selected(), function (index, rowId) {
// console.log(index + '---' + rowId)
// console.log(table.cell(index, 5).data())
//});
});
});
当我使用IE浏览器时,.column0.checkbox.selected返回一个列表,该列表不包括当前单击的复选框状态更改。也就是说,选中复选框时,.column0.checkbox.selected返回一个不包含当前复选框数据的列表。当复选框未选中时,.column0.checkbox.selected返回一个列表,其中仍然包含此复选框的数据。这是由于jQuery DataTables复选框插件的赛车条件造成的。它在内部处理更改事件以更新所选复选框的列表。当您自己处理更改事件时,显然IE插件仍然不知道更改 当复选框的状态更改时,尝试使用选项来处理事件
'columnDefs': [
{
'targets': 0,
'checkboxes': {
'selectRow': true,
'selectCallback': function(nodes, selected){
// Handle checkbox state change event
}
}
}
],