我正在尝试使用yadcf插件设置真/假过滤器。据我所知,它工作正常,过滤工作正常,直到你执行搜索。此时不再呈现选择列表(即使清除过滤器也不会将其恢复)并且需要页面刷新才能将其恢复。
以下是一些有助于演示此问题的屏幕截图。
这是在执行搜索之前
这是在执行搜索后
这是datatable / yadcf init(我为了简洁而删除了一些代码)。
_grid.init({
loadingMessage: 'Loading...',
src: _connectionsTable,
dataTable: {
ajax: {
url: _connectionsTable.data('url')
},
columns: [
{
data: 'IsAssigned',
sortable: false,
"render": function (data, type, full, meta) {
return (data === false
? '<span class="label label-sm label-danger"> No </span>'
: '<span class="label label-sm label-success"> Yes </span>');
}
}
],
dom:
"<'row'<'col-md-8 col-sm-12'pli><'col-md-4 col-sm-12'<'table-group-actions pull-right'>>r>t<'row'<'col-md-8 col-sm-12'pli><'col-md-4 col-sm-12'>>",
initComplete: function (settings, json) {
var _table = new $.fn.dataTable.Api(settings);
// search options
yadcf.init(_table, [
{
column_number: 11,
data: [{ value: 'true', label: 'Yes' }, { value: 'false', label: 'No' }],
filter_container_id: 'IsAssignedFilter',
filter_reset_button_text: false,
style_class: 'form-control form-filter input-sm'
}
]);
},
order: [
[1, 'desc']
],
responsive: true,
stateSave: true
}
});
其他类型的搜索似乎工作正常,但这是我为其提供静态数据的第一个。此外,Chrome开发工具在发生这种情况时也不会显示任何错误。 任何帮助表示赞赏!
答案 0 :(得分:0)
您不应该在initComplete
中初始化yadcf,而是在初始化数据表后执行此操作,如下所示:
var oTable = $('#example').DataTable({...});
yadcf.init(oTable, [{column_number: 0}]);