设置为多个数据表使用Yadcf插件

时间:2018-03-12 06:24:59

标签: yadcf

这是关于将yadcf插件用于具有自定义配置的多个表。

我尝试使以下JSFiddle工作,但它没有用。我在JSFiddle上编写的代码将提供我的意图。

    var table = $(settings.tableId).DataTable({
serverSide: false,
processing: true,
autoWidth: false,
lengthChange: false,
searching: true,
scrollX: true,
scrollY: 350,
dom: "<<'col-md-8'B><'col-md-3'f>tip>",
fixedColumns: true,
columnDefs: [{ targets: [0], orderable: false }],
    ajax: {
        url: settings.ajax.url,
        type: "POST",
        data: function (params) {
            (settings.ajax.data != undefined) ? $.extend(params, settings.ajax.data) : null;
            params.searchFilterValue = $(currentTableId + '_filter.dataTables_filter input').val();
            if (JSON.stringify($(currentTableId).DataTable().settings().init().filterKeyValuePairs) != "{}")
                params.jsonColumnFilters = JSON.stringify($(currentTableId).DataTable().settings().init().filterKeyValuePairs);
        },
        error: function (xhr, error, thrown) {
            //GLOBAL.getException(xhr.responseText);
            $(currentTableId + " td.dataTables_empty").addClass("validationError").html(GLOBAL.isJson(xhr.responseText).ErrorMessage);
        }
    },
    columns: (settings.actions != undefined) ? getColumns(settings.actions, settings.columns) : settings.columns,
    filterKeyValuePairs: {},
    order: settings.order,
    rowId: settings.rowId,
    buttons: addButtons(settings.buttons),
    initComplete: function (settings, json) {
        (settings.Events != undefined) ? (settings.Events.initComplete != undefined) ? settings.Events.initComplete() : null : null;
    },
    drawCallback: function (settings) {
        this.api().rows().deselect();
        (settings.Events != undefined) ? (settings.Events.drawCallback != undefined) ? settings.Events.drawCallback() : null : null;
    }
});

http://jsfiddle.net/umamaheswarcs/q9rvLwz8/34/

我的想法是创建一个用于创建多个表的通用方法。因此,我已经设置了配置和初始化表,如JSFiddle所示。在那个例子中,我创建了两个表。第一个表格显示在网页上

First table on web page

并在垃圾按钮上单击第二个表在bootstrap模式上打开。

Second Table on modal

当模态关闭时,我在模态关闭事件中从DOM中移除模态(我假设第二个表将被销毁)

第二次点击垃圾按钮时出现问题。第3698行的yadcf插件将settings.oInstance.selector作为'undefined'接收,从而导致插件失败。 我可以知道如何摆脱这种情况,还是我在多表初始化过程中犯了什么错误?

0 个答案:

没有答案