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 相关文章推荐
我的论坛源代码(三)
Oct 09 PHP
PHP开发入门教程之面向对象
Dec 05 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
PHP中将ip地址转成十进制数的两种实用方法
Aug 15 PHP
PHP将进程作为守护进程的方法
Mar 19 PHP
深入浅析PHP7.0新特征(五大新特征)
Oct 29 PHP
php编程每天必学之表单验证
Mar 01 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 PHP
基于thinkPHP3.2实现微信接入及查询token值的方法
Apr 18 PHP
分享8个Laravel模型时间戳使用技巧小结
Feb 12 PHP
PHP网页缓存技术优点及代码实例
Jul 29 PHP
PHP加MySQL消息队列深入理解
Feb 27 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
十天学会php之第五天
2006/10/09 PHP
PHP5各个版本的新功能和新特性总结
2014/03/16 PHP
PHP上传图片时判断上传文件是否为可用图片的方法
2016/10/20 PHP
jquery+css+ul模拟列表菜单具体实现思路
2013/04/15 Javascript
代码触发js事件(click、change)示例应用
2013/12/13 Javascript
JS实现仿Windows经典风格的选项卡Tab切换代码
2015/10/20 Javascript
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
js中call()和apply()改变指针问题的讲解
2019/01/17 Javascript
JavaScript作用域链实例详解
2019/01/21 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
python微信跳一跳系列之棋子定位颜色识别
2018/02/26 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
Python利用递归实现文件的复制方法
2018/10/27 Python
pandas 时间格式转换的实现
2019/07/06 Python
用Python将Excel数据导入到SQL Server的例子
2019/08/24 Python
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
介绍一下JNDI的基本概念
2013/07/26 面试题
企业车辆管理制度
2014/01/24 职场文书
七年级历史教学反思
2014/02/05 职场文书
元旦红领巾广播稿
2014/02/19 职场文书
机关办公室岗位职责
2014/04/16 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
职工小家建设活动方案
2014/08/25 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
家长反馈意见及建议
2015/06/03 职场文书
领导欢送会主持词
2015/07/06 职场文书
六年级语文教学反思
2016/03/03 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
Python实战之OpenCV实现猫脸检测
2021/06/26 Python
MySQL系列之五 视图、存储函数、存储过程、触发器
2021/07/02 MySQL
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏
Python内置的数据类型及使用方法
2022/04/13 Python