我的模态窗口仅显示在Gridview的第一行上(单击第二行或更多行会打开一个没有格式化的新页面)。
我关注此post。
有人能帮助我吗?我看到在 https://stackoverflow.com/questions/42667602/yii2-gridview-modal-only-display-when-click-on-first-row
这个问题还有一个未解决的话题我的gridview
<?php
yii\bootstrap\Modal::begin([
'id' =>'modal',
//'headerOptions' => ['id' => 'modalHeader'],
'header' => 'Tipos de situação',
]);
yii\bootstrap\Modal::end();
?>
列...
[
'attribute' => 'status_id',
'enableSorting' => true,
'format' => 'raw',
'value' => function ($model) {
// return '<b style="color:#456789">'.$model->status->name.'</b>';
// },
return Html::a($model->status->name, ['/analise/status/list'], ['id' => 'popupModal']);
},
'filter' => ArrayHelper::map(Status::find()->orderBy('name')->asArray()->all(), 'id', 'name'),
'contentOptions'=>['style'=>'width: 10%;text-align:center;vertical-align: middle;'],
'headerOptions'=>['class'=>'active', 'style'=>'text-align:center;vertical-align: middle;'],
],
<?php
$this->registerJs("$(function() {
$('#popupModal').click(function(e) {
e.preventDefault();
$('#modal').modal('show').find('.modal-body')
.load($(this).attr('href'));
});
});");
?>
答案 0 :(得分:3)
您有多个具有相同ID“popupModal”的链接,这是不对的。您可以使用css类而不是id:
列中的:
'value' => function ($model) {
return Html::a($model->status->name, ['/analise/status/list'], ['class' => 'popupModal']);
},
在js:
$this->registerJs("$(function() {
$('.popupModal').click(function(e) {
e.preventDefault();
$('#modal').modal('show')
.find('.modal-body')
.load($(this).attr('href'));
});
});");