首页 > 解决方案 > 在gridview yii2中使用onclick事件

问题描述

看法

在gridview中使用onclick事件?

错误:试图获取非对象的属性

  ['class' => 'yii\grid\ActionColumn',
                    'template' => '{view} {delete} {myButton}',
                    'buttons' => [
                        'format' => 'raw',
                        'myButton' => function ($model) {
                            return Html::a('<li class="fa fa-folder"></li> info sale', ['#'], [
                                'class' => 'btn btn-primary btn-xs',
                                'onclick'=>'saleinfo('.$model->id.')',
                            ]);
                        }
                    ]
       ],

标签: yii2

解决方案


你可以试试这个方法

  ['class' => 'yii\grid\ActionColumn',
    'template' => '{view} {delete} {myButton}',                        
    'urlCreator' => function ($action, $model, $key, $index) {
            if ($action === 'view') {
               ....
            }
            if ($action === 'update') {
               ...
            }      
            if ($action === 'myButton') {
                $url =\yii\helpers\Url::to(['/your_controller/your_action', 'id' => $model->id]); 
                return $url;
            }                                            
    }, 
    'buttons' => [
        'myButton' => function($url, $model){
            return Html::a('<li class="fa fa-folder"></li> info sale', ['#'], [
                    'class' => 'btn btn-primary btn-xs',
                ]);
        }
    ],
  ],

推荐阅读