boottstrap modal+gridview 팝 업 상자 효과 구현

프로젝트 는 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,
    ]);
  }
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기