Datatable - получение ошибки при установке флажка выбора в первом столбце

Я знаю, что это уже решено, но я просто не могу заставить его работать. Я использую редактор DataTable Editor с resposnive и serveride. Я получаю сообщение об ошибке, когда устанавливаю флажок в первом столбце, например:

js:

var table = $('#mytable').DataTable( {
    dom: "rt",
    ajax: {
        url: "/source.php",
        type: "POST",
        data: function (d) { 

        }
    },
    serverSide: true,
    processing: true,
    select: {
        style:    'os',
        selector: 'td:first-child'
    },              
    columns: [
        {
            data: null,
            defaultContent: "",
            className: "select-checkbox",
            orderable: false, 
            targets:   0            
        },                                        
        { data: "logo" },
        { data: "name" },   
        { data: "product" }                                                
    ]                            
} ); 

Это сообщение об ошибке:

Предупреждение DataTables: table id = mytable - Неизвестное поле: (индекс 0)

php:

Editor::inst( $db, 'table' )
    ->fields(
        Field::inst( 'logo' ),
        Field::inst( 'url' ),       
        Field::inst( 'name' ),
        Field::inst( 'product' )              
    )

... если поместить в последний столбец, он работает:

    ...
    columns: [                                        
        { data: "logo" },
        { data: "name" },   
        { data: "product" },
        {
            data: null,
            defaultContent: "",
            className: "select-checkbox",
            orderable: false, 
            targets:   0            
        }                                                              
    ]   
    ...

Как установить флажок в первом столбце? (Итак, столбец 0)

0
0
221
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

добавить это в код

 $("#table").DataTable({
            'columnDefs': [{
                    'targets': 0,
                    'bSortable': false,
                    'render': function (data, type, full, meta){
                            return '<input type="checkbox"> <label>Checkbox</label>';
                    }
            }]
 })

вы можете добавить скрипку или рабочую модель этого вопроса?

Venkata Sandeep 11.04.2018 13:45

Можете ли вы передать флажок html в defaultContent? Я могу только слепо сказать это, пока вы не опубликуете свою скрипку, спасибо

Venkata Sandeep 11.04.2018 14:06
Ответ принят как подходящий

Вот ответ автора:

У вас включена обработка на стороне сервера, и по умолчанию используется порядок в первом столбце. Когда это происходит, DataTables сообщает серверу о необходимости упорядочить столбец, созданный на стороне клиента, и выдает ошибку.

Используйте «order: [[1, 'desc']]«, чтобы решить эту проблему.

Другие вопросы по теме