yii2.0使用modal模态框

最近要使用modal效果,于是参考了一些网上的学习案例,学习记录一下。
1.创建按钮

Html::button('控制',[
                    'id' =>'data-control',
                    'title' => Yii::t('app', '控制'),
                    'class' =>'btn btn-xs',
                    'data-toggle'=>'modal',//触发modal
                    'data-target'=>'#control-modal',//要触发的模态框id
                    'data-id' =>$key
                ]);

2.创建modal

 use yii\bootstrap\Modal;
    Modal::begin([
        'class'=>'modal',
        'id' => 'control-modal',
        'header' => '<h1 class="modal-title">按钮控制</h1>',
        'footer' =>  '<a href="#" class="btn btn-primary" data-dismiss="modal">关闭</a>',
    ]);
//以下js代码借鉴了网上博主的代码
$requestControlUrl = Url::toRoute('modal');
$controlJs = <<<JS
        $('button#data-control').on('click', function () {
            $.get('{$requestControlUrl}', { id: $(this).parents('tr').attr('data-key') },
                function (data) {
                    $('.modal-body').html(data);
                }
            );
        });
JS;
$this->registerJs($controlJs);
    Modal::end();

3.建立modal.php文件,写一些要放在modal中的html内容

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <span>这是modal模态框内容</span>
</body>
</html>

4.写一个actionModal方法

 public function actionModal($id)
    {
        return $this->render('modal',['id'=>$id]);
    }

5.效果图
这里写图片描述

**在编写过程中遇到了几个问题:
1.模态框闪退
一开始出现了点击按钮modal闪退的问题,在百度了半天后,大致知道是modal.js文件与bootstrap.js文件产生冲突,因此在资源中将引用的bootstrap.min.js引用注释后,发现modal正常显示。
2.模态框只显示header和footer,多次点击按钮后有几次会显示body内容,后发现一开始是使用了a标签来做按钮,在菜鸟教程中看到:如果添加了一个带有有效 URL 的 href,则会加载其中的内容。那我理解应该是与modal的js产生了冲突,将其改为button则无此问题。**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值