Флажки Datatables Gyrocode Предварительный выбор - PullRequest
0 голосов
/ 09 марта 2020

Мы используем плагин Gyrocode Checkboxes для Datatables. Для данных options таблицы данных создаются следующим образом:

function addDataTable(options) {

    var target = $('#'+options.table);

    var table = target.DataTable({

        ajax : options.ajax,
        data: options.data,
        select: options.select ? {
                selector: 'td:first-child',
                style:    options.select
            } : undefined,
        columnDefs: enrichColumnDefs(options),
        columns : enrichColumns(options)
        // ... more definitions
    });
}

function enrichColumnDefs(options){
    var defs = [{
       targets: 'no-sort',
       orderable: false,
    }];

    if(!options.select) return defs;

    defs.unshift({
        targets:   0,
        orderable: false,
        checkboxes: {
            selectRow: true
        },
        createdCell : options.preselect ? // if preselect rule exists, execute on cell create
            function (td, cellData, rowData, row, col){
                if(options.preselect(rowData)){
                    this.api().cell(td).checkboxes.select();
                }
            } : undefined
    });

    return defs;
}

Код основан на этой документации . Он работает нормально без параметра createdCell. Флажки отображаются и работают как положено. С параметром выдается ошибка:

TypeError: ctx.checkboxes is undefined - dataTables.checkboxes.min.js:5:15174

Используемые файлы флажков соответствуют описанию на домашней странице:

<link type="text/css" href="//gyrocode.github.io/jquery-datatables-checkboxes/1.2.11/css/dataTables.checkboxes.css" rel="stylesheet" />

и

<script type="text/javascript" src="//gyrocode.github.io/jquery-datatables-checkboxes/1.2.11/js/dataTables.checkboxes.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...