【问题标题】:jQuery DataTables Ajax.Data dynamically populated with checkbox checked state not workingjQuery DataTables Ajax.Data 动态填充复选框选中状态不起作用
【发布时间】:2018-09-23 18:02:13
【问题描述】:

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

这是我的输入:

<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')
   }
},

我已经尝试了所有我能想到的方法,但似乎无法在数据表初始化中使用它。

【问题讨论】:

  • 如果我对值进行硬编码,它就可以工作。
  • hmm 也尝试添加"serverSide": true, 选项属性

标签: jquery ajax datatables-1.10


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

per this SO answer

【讨论】:

  • 太棒了。有效。我能够发送我的复选框的更新状态。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-26
  • 1970-01-01
相关资源
最近更新 更多