执行搜索后清除静态过滤器数据 - yadcf插件

时间:2016-12-13 08:25:23

标签: yadcf

我正在尝试使用yadcf插件设置真/假过滤器。据我所知,它工作正常,过滤工作正常,直到你执行搜索。此时不再呈现选择列表(即使清除过滤器也不会将其恢复)并且需要页面刷新才能将其恢复。

以下是一些有助于演示此问题的屏幕截图。

这是在执行搜索之前

This is before a search has been performed

这是在执行搜索后

This is after a search has been performed

这是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开发工具在发生这种情况时也不会显示任何错误。 任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

您不应该在initComplete中初始化yadcf,而是在初始化数据表后执行此操作,如下所示:

var oTable = $('#example').DataTable({...});
yadcf.init(oTable, [{column_number: 0}]);