bootstrap modal+gridview实现弹出框效果


Posted in Javascript onAugust 15, 2017

项目需要在gridview的表单信息中点击更新,弹出表单进行操作,不需要跳转。

bootstrap modal+gridview实现弹出框效果

1.在girdview中加入更新操作按钮用来调用modal弹窗

'buttons' => [
  'update' => function ($url, $model, $key) {
       return Html::a('<span class="glyphicon glyphicon-pencil"></span>', '#', [
          'data-toggle' => 'modal',
          'data-target' => '#update-modal',
          'class' => 'data-update',
          'data-id' => $key,
          'title'=>'更改状态',
          ]);
        },
      ],

2.gridview的头部创建modal弹窗样式

<?php
use yii\bootstrap\Modal;//模态弹出框
Modal::begin([
  'id' => 'update-modal',
  'header' => '<h4 class="modal-title">更改状态</h4>',
  'footer' => '<a href="#" rel="external nofollow" class="btn btn-primary" data-dismiss="modal">Close</a>',
]); 
Modal::end();
?>

3.gridview中ajax

<?php    
$requestUpdateUrl = Url::toRoute('update');
$updateJs = <<<JS
  $('.data-update').on('click', function () {
    $.get('{$requestUpdateUrl}', { id: $(this).closest('tr').data('key') },
      function (data) {
        $('.modal-body').html(data);
      } 
    );
  });
JS;
$this->registerJs($updateJs); 
?>

4.控制器update方法

public function actionUpdate($id)
{
  $model = Order_packet::findOne($id);
  $model->setScenario('update');//指定场景,防止时间等变量同时被更改
  if ($model->load(Yii::$app->request->post()) && $model->save()) {
    return $this->redirect(['index']);
  } else {
    return $this->renderAjax('update', [  //这里需要渲染update模版,要在view中写update
      'model' => $model,
    ]);
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery的一些特性和用法整理小结
Jan 13 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
Apr 27 Javascript
ajax请求乱码的解决方法(中文乱码)
Apr 10 Javascript
jquery ztree实现树的搜索功能
Feb 25 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
Apr 18 Javascript
基于Bootstrap3表格插件和分页插件实例详解
May 17 Javascript
探索Javascript中this的奥秘
Dec 11 Javascript
js正则表达式验证密码强度【推荐】
Mar 03 Javascript
JavaScript中transform实现数字翻页效果
Mar 08 Javascript
Nuxt v-bind绑定img src不显示的解决
Dec 05 Javascript
jquery+css3实现的经典弹出层效果示例
May 16 jQuery
JavaScript 生成唯一ID的几种方式
Feb 19 Javascript
vue实现点击图片放大效果
Aug 15 #Javascript
jquery获取链接地址和跳转详解(推荐)
Aug 15 #jQuery
JavaScript获取tr td 的三种方式全面总结(推荐)
Aug 15 #Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 #jQuery
Vue组件通信实践记录(推荐)
Aug 15 #Javascript
js移动端事件基础及常用事件库详解
Aug 15 #Javascript
js实现移动端轮播图效果
Dec 09 #Javascript
You might like
ThinkPHP文件上传实例教程
2014/08/22 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
php四种定界符详解
2017/02/16 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
PHP检查端口是否可以被绑定的方法示例
2018/08/09 PHP
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
setTimeout()递归调用不加引号出错的解决方法
2014/09/05 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
JavaScript中的 attribute 和 jQuery中的 attr 方法浅析
2017/01/04 Javascript
angularjs中ng-bind-html的用法总结
2017/05/23 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
2020/06/01 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
Python入门篇之面向对象
2014/10/20 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
python psutil模块使用方法解析
2019/08/01 Python
Python networkx包的实现
2020/02/14 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
世界上最全面的草药补充剂和顶级品牌维生素网站:HerbsPro
2019/01/20 全球购物
高等教育专业自荐信范文
2014/03/26 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
私营公司诉讼代理委托书范本
2014/09/13 职场文书
设备技术员岗位职责
2015/04/11 职场文书
python调试工具Birdseye的使用教程
2021/05/25 Python
python3操作redis实现List列表实例
2021/08/04 Python