Yii2中如何使用modal弹窗(基本使用)

Lewa ·
更新时间:2024-09-20
· 749 次阅读

Modal也即是模态窗,通俗的说就是弹窗。是一款bootstrap的js插件,使用效果也是非常好。

为什么要使用modal就不必多说了,一个网站,在开发过程中你说你没用过js弹窗我都不信!好的弹窗不仅仅给人以美感,也会让我们开发效率提高,甚至心情也会舒畅!

我们看看在yii2中如何使用modal。

比如我们之前添加数据的时候,通常情况下会点击按钮跳转到添加页面,保存后再跳转到列表页。

现在我们希望点击添加按钮的时候,在当前页面弹窗添加数据,看具体实现。

1、use yii\bootstrap\Modal; 2、创建一个按钮,用于调modal的显示 echo Html::a('创建', '#', [ 'id' => 'create', 'data-toggle' => 'modal', 'data-target' => '#create-modal', 'class' => 'btn btn-success', ]); 3、创建modal <?php Modal::begin([ 'id' => 'create-modal', 'header' => '<h4 class="modal-title">创建</h4>', 'footer' => '<a href="#" class="btn btn-primary" data-dismiss="modal">Close</a>', ]); $requestUrl = Url::toRoute('create'); $js = <<<JS $.get('{$requestUrl}', {}, function (data) { $('.modal-body').html(data); } ); JS; $this->registerJs($js); Modal::end(); ?> 4、修改我们的create操作如下 public function actionCreate() { $model = new Test(); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['index']); } else { return $this->renderAjax('create', [ 'model' => $model, ]); } }

这个时候我们点击按钮[创建],会看到modal弹窗,截图如下。

有同学可能要说,这个页面没必要异步加载过来。确实,你也可以直接在页面上echo $this->renderAjax();,不过需要提醒的是,该操作记得修改表单提交的action哦。

关于modal的使用,此处有两点需要提醒大家:

在控制元素(比如按钮或者链接)上设置属性 data-toggle="modal",同时设置 data-target="#identifier" 或 href="#identifier" 来指定要切换的特定的模态框(带有 id="identifier")

以上,我们在yii2中实现了modal的基本使用。

您可能感兴趣的文章:Yii2.0预定义的别名功能小结Yii2中使用join、joinwith多表关联查询Yii2 ActiveRecord多表关联及多表关联搜索的实现Yii2 rbac权限控制之rule教程详解Yii2使用自带的UploadedFile实现的文件上传Yii2组件之多图上传插件FileInput的详细使用教程yii2 modal弹窗之ActiveForm ajax表单异步验证yii2中结合gridview如何使用modal弹窗实例代码详解yii2分页之实现跳转到具体某页的实例代码yii2实现根据时间搜索的方法Yii2框架使用计划任务的方法Yii2分页的使用及其扩展方法详解Yii2如何批量添加数据Yii2 RESTful中api的使用及开发实例详解



modal yii

需要 登录 后方可回复, 如果你还没有账号请 注册新账号