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里得到前天和昨天的日期的代码
Aug 16 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
Aug 08 PHP
php调用MySQL存储过程的方法集合(推荐)
Jul 03 PHP
php广告加载类用法实例
Sep 23 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
Jan 26 PHP
全面解析PHP操作Memcache基本函数
Jul 14 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
Nov 14 PHP
浅谈PHP的数据库接口和技术
Dec 09 PHP
PHP封装返回Ajax字符串和JSON数组的方法
Feb 17 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
Nov 03 PHP
PHP addslashes()函数讲解
Feb 03 PHP
关于laravel 日志写入失败问题汇总
Oct 17 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 ob_start()控制浏览器cache、生成html实现代码
2010/02/16 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
2010/04/12 PHP
PHP数组排序之sort、asort与ksort用法实例
2014/09/08 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
php实现等比例压缩图片
2018/07/26 PHP
取得传值的函数
2006/10/27 Javascript
jquery 指南/入门基础
2007/11/30 Javascript
JavaScript 面向对象编程(2) 定义类
2010/05/18 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
JavaScript动态修改弹出窗口大小的方法
2015/04/06 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
VUE实现日历组件功能
2017/03/13 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
2017/05/18 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
vue2使用keep-alive缓存多层列表页的方法
2018/09/21 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
jQuery加PHP实现图片上传并提交的示例代码
2020/07/16 jQuery
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
2016/09/19 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
python中如何设置代码自动提示
2020/07/15 Python
致跳远、跳高运动员广播稿
2014/01/09 职场文书
移风易俗倡议书
2014/04/15 职场文书
优秀毕业生就业推荐信
2014/05/22 职场文书
个人校本研修方案
2014/05/26 职场文书
实训报告范文大全
2014/11/04 职场文书
优秀团队申报材料
2014/12/26 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书
sql查询结果列拼接成逗号分隔的字符串方法
2021/05/25 SQL Server