yii2使用modal弹窗

今天药忘吃喽~ 2022-07-14 11:26 307阅读 0赞

视图中引用bootstrap扩展

  1. use yii\bootstrap\Modal;
  2. <?php
  3. AdminModal::begin([
  4. 'id' => 'operate-modal',
  5. 'header' => '<h4 class="modal-title"></h4>',
  6. 'size'=>AdminModal::SIZE_DEFAULT,//设定弹窗宽度,可以自己写一个类继承与modal类,定义一个常量的class属性,然后引入该css样式
  7. 'options'=>[
  8. 'data-backdrop'=>'static',//点击空白处不关闭弹窗
  9. 'data-keyboard'=>false,
  10. ],
  11. ]);
  12. AdminModal::end();
  13. $this->title = '分类列表';
  14. $this->params['breadcrumbs'][] = $this->title;
  15. // 创建
  16. $requestCreateUrl = Url::toRoute('create');
  17. $requestUpdateUrl = Url::toRoute('update');
  18. $js = <<<JS
  19. // 创建操作
  20. $('#create').on('click', function () {
  21. $('.modal-title').html('创建栏目');
  22. $.get('{$requestCreateUrl}',
  23. function (data) {
  24. // 弹窗的主题渲染页面
  25. $('.modal-body').html(data);
  26. }
  27. );
  28. });
  29. $('.btn-update').on('click', function () {
  30. $('.modal-title').html('栏目信息');
  31. $.get('{$requestUpdateUrl}', { id: $(this).closest('tr').data('key') },
  32. function (data) {
  33. $('.modal-body').html(data);
  34. }
  35. );
  36. });
  37. JS;
  38. $this->registerJs($js);
  39. ?>

gridview中自定义按钮和弹出框修改创建数据

  1. [
  2. 'class' => 'yii\grid\ActionColumn',
  3. 'template' => '{update} {delete}',
  4. 'header' => '操作',
  5. 'buttons' => [
  6. 'update' => function ($url, $model, $key) {
  7. return Html::a("修改分类", $url, [
  8. 'title' => '修改分类',
  9. // btn-update 目标class
  10. 'class' => 'btn btn-default btn-update',
  11. // 固定写法
  12. 'data-toggle' => 'modal',
  13. // 指向modal中begin设定的id
  14. 'data-target' => '#operate-modal',
  15. ]);
  16. },
  17. 'delete' => function ($url, $model, $key) {
  18. return Html::a('删除', $url, [
  19. 'title' => '删除',
  20. 'class' => 'btn btn-default',
  21. 'data' => [
  22. 'confirm' => '确定要删除么?',
  23. 'method' => 'post',
  24. ],
  25. ]);
  26. },
  27. ],
  28. ],

弹窗请求的url地址要返回ajax表单

发表评论

表情:
评论列表 (有 0 条评论,307人围观)

还没有评论,来说两句吧...

相关阅读