zoukankan      html  css  js  c++  java
  • yii2中如何使用modal弹窗之基本使用

    作者:白狼 出处:http://www.manks.top/yii2_modal_baseuse.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    Modal也即是模态窗,通俗的说就是弹窗。是一款bootstrap的js插件,使用效果也是非常好。

    为什么要使用modal就不必多说了,一个网站,在开发过程中你说你没用过js弹窗我都不信!好的弹窗不仅仅给人以美感,也会让我们开发效率提高,甚至心情也会舒畅!

    我们看看在yii2中如何使用modal。

    比如我们之前添加数据的时候,通常情况下会点击按钮跳转到添加页面,保存后再跳转到列表页。

    现在我们希望点击添加按钮的时候,在当前页面弹窗添加数据,看具体实现。

    1、use yiiootstrapModal;
    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弹窗。

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

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

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

    以上,我们在yii2中实现了modal的基本使用。我们还讲述了在yii2中有关modal结gridview的使用,推荐你看一看。

    [考虑目前国内网站大部分采集文章十分频繁,更有甚者不注明原文出处,原作者更希望看客们查看原文,以防有任何问题不能更新所有文章,避免误导!]

    继续阅读

    关于modal结合gridview,尤其是列表页修改的功能,尤其是modal+select2的问题,可参考文章yii2中如何使用modal弹窗之结合gridview的使用​​

  • 相关阅读:
    shell
    regionMatches方法
    ==
    使用INTO子句创建新表
    数据库除运算
    数据库笛卡尔积运算
    人生格言
    刚开通~
    Nginx:413 Request Entity Too Large
    ORACLE 查看并修改最大连接数
  • 原文地址:https://www.cnblogs.com/wwolf/p/5552656.html
Copyright © 2011-2022 走看看