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