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 相关文章推荐
使一个函数作为另外一个函数的参数来运行的javascript代码
Aug 13 Javascript
javascript性能优化之事件委托实例详解
Dec 12 Javascript
Flow之一个新的Javascript静态类型检查器
Dec 21 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
Feb 24 Javascript
slideToggle+slideup实现手机端折叠菜单效果
May 25 Javascript
javascript实现非常简单的小数取整功能示例
Jun 13 Javascript
轻松理解vue的双向数据绑定问题
Oct 30 Javascript
使用JS判断移动端手机横竖屏状态
Jul 30 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
Jun 13 Javascript
Node.js API详解之 Error模块用法实例分析
May 14 Javascript
纯JS实现五子棋游戏
May 28 Javascript
vue 递归组件的简单使用示例
Jan 14 Vue.js
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
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
php MsSql server时遇到的中文编码问题
2009/06/11 PHP
php引用地址改变变量值的问题
2012/03/23 PHP
php取整函数ceil,floo,round的用法及介绍
2013/08/31 PHP
smarty半小时快速上手入门教程
2014/10/27 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
JavaScript中令你抓狂的魔术变量
2006/11/30 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
jquery实现邮箱自动填充提示功能
2015/11/17 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
使用AJAX实现Web页面进度条的实例分享
2016/05/06 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
Javascript刷新页面的实例
2017/09/23 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
Python使用urllib2模块实现断点续传下载的方法
2015/06/17 Python
python用户管理系统的实例讲解
2017/12/23 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
python 字典中取值的两种方法小结
2018/08/02 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
Python sep参数使用方法详解
2020/02/12 Python
python中JWT用户认证的实现
2020/05/18 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
单身旅行者的单身假期:Just You
2018/04/08 全球购物
英国玛莎百货新西兰:Marks & Spencer New Zealand
2019/07/21 全球购物
盛大二次面试题
2016/11/18 面试题
个人收入证明模板
2014/09/18 职场文书
团队会宣传标语
2014/10/09 职场文书
出生证明范本
2015/06/15 职场文书