Laravel-datatables: tdセルの属性

作成日 2016年03月16日  ·  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に属性を追加することは、サーバー側では実行できません。 ただし、 createdRowコールバックを使用してjsスクリプトを介してクライアント側で実行できます。 以下のスニペットの例を参照してください。 出典: http

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

全てのコメント3件

tdに属性を追加することは、サーバー側では実行できません。 ただし、 createdRowコールバックを使用してjsスクリプトを介してクライアント側で実行できます。 以下のスニペットの例を参照してください。 出典: http

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

ありがとう!! それはコードがうまく機能します;)

@yajraこのサーバーサイドは現在サポートされていますか?

このページは役に立ちましたか?
0 / 5 - 0 評価