首頁  >  文章  >  web前端  >  使用bootstrap modal+gridview彈出框效果實作實例教程

使用bootstrap modal+gridview彈出框效果實作實例教程

巴扎黑
巴扎黑原創
2017-08-17 15:58:282093瀏覽

這篇文章主要介紹了bootstrap modal+gridview實現彈出框效果,gridview點擊更新彈出填寫資訊表單,具有一定的參考價值,有興趣的小夥伴們可以參考一下

專案需要在gridview的表單資訊中點選更新,彈出表單進行操作,不需要跳轉。

1.在girdview中加入更新操作按鈕用來呼叫modal彈窗


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

2.gridview的頭部建立modal彈窗樣式


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

3.gridview中ajax


##

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

4.控制器update方法



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

以上是使用bootstrap modal+gridview彈出框效果實作實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn