1

With reference to How to implement Yii2 Modal Dialog on Gridview view and update button?. I did my code below, but it popups a window with no update form. could anyone please let me know the correct code? (i use Kartik Gridview)

This is the code for column:

 ['class' => '\kartik\grid\ActionColumn',
         'template'=>'{update}{delete}{view}',//{view}'//{view}{delete}', 
           'headerOptions' => ['width' => '20%', 'class' => 'activity-  update-link',],        
           'contentOptions' => ['class' => 'padding-left-5px'],
            'buttons' => [
               'update' => function ($url, $model, $key) {
                   return Html::a('<span class="glyphicon glyphicon-pencil"></span>','/projects/update?id='.$key.'', [
                       'class' => 'activity-update-link',
                       'title' => Yii::t('yii', 'Project Update'),
                       'data-toggle' => 'modal',
                       'data-target' => '#activity-modal',
                       'data-id' => $key,
                       'data-pjax' => '0',
                                ]);
                            },
                        ],
        ],

This is JS code:

<?php $this->registerJs(
'
function init_click_handlers(){
$(".activity-update-link").click(function(e) {
        var fID = $(this).closest("tr").data("key");
        $.get(
            "update",
            {
                id: fID
            },
            function (data)
            {
                $("#activity-modal").find(".modal-body").html(data);
                $(".modal-body").html(data);
                $("#activity-modal").modal("show");
            }
        );
    });
}
init_click_handlers(); //first run
$("#project_pjax_id").on("pjax:success", function() {
init_click_handlers(); //reactivate links in grid after pjax update 
});
');
?>
<?php 
Modal::begin([
'id' => 'activity-modal',
'header' => '<h4 class="modal-title">Update Project Testing</h4>',
'size'=>'modal-lg',
'footer' => '<a href="#" class="btn btn-primary" data-   
dismiss="modal">Close</a>',
]); ?>
<div class='well'></div>
<?php Modal::end(); ?>
Community
  • 1
  • 1
Andy
  • 11
  • 2

1 Answers1

0

Thanks all for watching my question. I solved my issue by adding modal into main.js file of the assets folder using class instead of ID.

Andy
  • 11
  • 2