jQuery DataTables Ajax.Data 动态填充复选框选中状态不起作用



我的数据表表标题中有一个复选框,我试图将其作为服务器端处理的参数传递。看起来这应该是微不足道的,但我要么忽略了一些东西,要么我错过了数据表的工作方式。

这是我的输入:

<input id="active-users-chk" type="checkbox" name="active-users-chk" checked="checked"> Active Users Only

这在数据表初始化之外工作:

$('#active-users-chk').on('change', function(){
console.log($('#active-users-chk').is(':checked') ? 1 : 0);
$('#mng-users-table').DataTable().ajax.reload();
});

但是如果我尝试将其动态用作 ajax.data 参数,它总是正确的:

"ajax": {
"url": baseUrl + 'admin/get_users',
"type": "POST",
"data": {
"active_only": $('#active-users-chk').is(':checked')
}
},

我已经尝试了我能想到的一切,但似乎无法让它在数据表初始化中工作。

"ajax": {
"url": baseUrl + 'admin/get_users',
"type": "POST",
"data": function(d) {
d.active_only = $('#active-users-chk').is(':checked') ? 1 : 0;
}
},

根据这个 SO 答案

最新更新