当我点击网格视图中的按钮时,我想弹出一个模态。这是可能的yii2 gridview?
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'time_zone',
'no_of_users',
'bill_name',
'bill_address',
'names.name',
'bill_state',
'bill_city',
'bill_postal',
'bill_mobile',
['header'=>'Plan Info',
'value'=> function($data)
{
//~ print_r($data);die();
return Html::a(Yii::t('app', ' {modelClass}', [
'modelClass' => 'details',
]), ['userdetails/plans','id'=>$data->id], ['class' => 'btn btn-success ']
);
},
'format' => 'raw'
],
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
在上面的网格视图中,当我点击按钮&#39;详细信息时,我想要弹出一个模态。
感谢,
答案 0 :(得分:9)
是的,有可能。实现以下步骤。
在Modal
代码上方添加GridView
代码。
<?php
yii\bootstrap\Modal::begin(['id' =>'modal']);
yii\bootstrap\Modal::end();
?>
之后在您的详细信息按钮中添加id
。
像,
[
'header'=>'Plan Info',
'value'=> function($data)
{
return Html::a(Yii::t('app', ' {modelClass}', [
'modelClass' => 'details',
]), ['userdetails/plans','id'=>$data->id], ['class' => 'btn btn-success', 'id' => 'popupModal']);
},
'format' => 'raw'
],
而不是在视图页面的顶部或底部注册JavaScript。
$this->registerJs("$(function() {
$('#popupModal').click(function(e) {
e.preventDefault();
$('#modal').modal('show').find('.modal-content')
.load($(this).attr('href'));
});
});");