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


Posted in PHP onMay 30, 2016

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弹窗,截图如下。

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

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

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

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

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

PHP 相关文章推荐
如何在PHP中使用Oracle数据库(1)
Oct 09 PHP
apache+php+mysql安装配置方法小结
Aug 01 PHP
PHP三元运算符的结合性介绍
Jan 10 PHP
PHP 转义使用详解
Jul 15 PHP
php准确获取文件MIME类型的方法
Jun 17 PHP
合格的PHP程序员必备技能
Nov 13 PHP
php下载文件,添加响应头的简单实例
Sep 22 PHP
PHP二进制与字符串之间的相互转换教程
Oct 14 PHP
php通过会话控制实现身份验证实例
Oct 18 PHP
PHP验证终端类型是否为手机的简单实例
Feb 07 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
php二维码生成以及下载实现
Sep 28 PHP
[原创]php求圆周率的简单实现方法
May 30 #PHP
smarty中改进truncate使其支持中文的方法
May 30 #PHP
php实现的一段简单概率相关代码
May 30 #PHP
PHP中的表达式简述
May 29 #PHP
一个简单的php路由类
May 29 #PHP
解读PHP中上传文件的处理问题
May 29 #PHP
round robin权重轮循算法php实现代码
May 28 #PHP
You might like
snoopy PHP版的网络客户端提供本地下载
2008/04/15 PHP
php Undefined index的问题
2009/06/01 PHP
php设计模式 Strategy(策略模式)
2011/06/26 PHP
谈谈关于php的优点与缺点
2013/04/11 PHP
基于header的一些常用指令详解
2013/06/06 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
php获取字段名示例分享
2014/03/03 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
图片img的src不变让浏览器重新加载实现方法
2013/03/29 Javascript
js 高效去除数组重复元素示例代码
2013/12/19 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
jQuery切换所有复选框选中状态的方法
2015/07/02 Javascript
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
基于javascript实现碰撞检测
2020/03/12 Javascript
vue+element UI实现树形表格
2020/12/29 Vue.js
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
在Python中使用itertools模块中的组合函数的教程
2015/04/13 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
2018/05/21 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
Atom Python 配置Python3 解释器的方法
2019/08/28 Python
解锁canvas导出图片跨域的N种姿势小结
2019/01/24 HTML / CSS
艺术用品:Arteza
2018/11/25 全球购物
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
金士达面试非笔试
2012/03/14 面试题
学生档案自我鉴定
2013/10/07 职场文书
煤矿班组长岗位职责
2013/12/29 职场文书
分厂厂长岗位职责
2013/12/29 职场文书
欢迎领导标语
2014/06/27 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang