Laravel-datatables: Атрибуты в ячейке td

Созданный на 16 мар. 2016  ·  3Комментарии  ·  Источник: yajra/laravel-datatables

Краткое изложение проблемы или запроса функции

Я не могу создавать настраиваемые атрибуты с данными коллекции. Пример: <td data-order="data"></td> . Создание настраиваемых атрибутов для строки работает нормально, но мне нужно создать атрибуты для ячейки ( <td> ). Возможно? Это мой код ...

Фрагмент кода проблемы

return Datatables::of($users)
            ->addColumn('action', function ($user) {
                return '<a href="#edit-'.$user->id.'" class="btn btn-xs btn-primary"><i class="glyphicon glyphicon-edit"></i> Edit</a>';
            })
            ->editColumn('id', '{{$id}}')
            ->removeColumn('password')
            ->setRowId('id')
            ->setRowClass(function ($user) {
                return $user->id % 2 == 0 ? 'alert-success' : 'alert-warning';
            })
            ->setRowData([
                'id' => 'test',
            ])
            ->setRowAttr([
                'color' => function($user){
                        return $user->color;
                }
            ])
            ->make(true);

Детали системы

  • Ubuntu
  • PHP 5.9
  • Laravel версии 5.1

Самый полезный комментарий

Добавление атрибута в td невозможно на стороне сервера. Но это можно сделать на стороне клиента через js-скрипт, используя обратный вызов createdRow . См. Пример фрагмента ниже. Источник: http://datatables.net/forums/discussion/31139/how-to-add-data-attribute-in-a-cell-server-side

$('#data-table').DataTable({
    ajax: 'some_url',
    createdRow: function( row, data, dataIndex ) {
        $( row ).find('td:eq(2)').attr('data-validate', '1');
    }
});

Все 3 Комментарий

Добавление атрибута в td невозможно на стороне сервера. Но это можно сделать на стороне клиента через js-скрипт, используя обратный вызов createdRow . См. Пример фрагмента ниже. Источник: http://datatables.net/forums/discussion/31139/how-to-add-data-attribute-in-a-cell-server-side

$('#data-table').DataTable({
    ajax: 'some_url',
    createdRow: function( row, data, dataIndex ) {
        $( row ).find('td:eq(2)').attr('data-validate', '1');
    }
});

Спасибо!! Этот код отлично работает;)

@yajra , эта серверная часть сейчас поддерживается?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги