2017-11-06 4 views
0

My Modalウィンドウは、Gridviewの最初の行にのみ表示されます(2行目以降をクリックすると、書式設定なしで新しいページが開きます)。Yii2 Modal on Gridview行

私はこれに続きましたpost

誰かが私を助けることができますか?私はあなたが同じIDを持つ複数のリンクを持っている私のGridViewの

https://stackoverflow.com/questions/42667602/yii2-gridview-modal-only-display-when-click-on-first-row同じ問題の未解決のトピックがここにあることを

<?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')); 
    }); 
});"); 
?> 

答えて

2

を見ました"popupModal"、それは正しくありません。あなたは、IDの代わりにCSSクラスを使用することができます:カラム内の

'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')); 
    }); 
});"); 
関連する問題