【发布时间】:2016-11-18 17:23:21
【问题描述】:
我一直在以某种形式使用引导模式。我从this 教程中学习了创建模态。对于我之前的项目,我对模态没有任何问题。但是对于我目前的项目,模态体并没有完全覆盖模态内容。这是屏幕截图 我现在通过引用this 解决了这个问题。我无法弄清楚可能导致高度问题的原因。
我的查看文件代码
<div class="collection-type-index">
<h1><?= Html::encode($this->title) ?></h1>
<?php // echo $this->render('_search', ['model' => $searchModel]); ?>
<p>
<?= Html::button('Create Collection', ['value' => Url::to('index.php?r=settings/collectiontype/create'), 'class' => 'btn btn-success', 'id' => 'modalButton']) ?>
</p>
<?php // Modal for create
Modal::begin([
'header'=>'Collection Type',
'id'=>'modal',
'size'=>'modal-lg',
]);
echo "<div id='modalContent'></div>";
Modal::end();
?> <!-- end modal -->
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'id',
'type',
'days',
'created_by',
'modified_by',
// 'status',
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
我的控制器创建动作代码
public function actionCreate() {
$model = new CollectionType();
$model->created_by = Yii::$app->user->identity->username;
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
if (Yii::$app->request->isAjax) {
return $this->renderAjax('create', ['model' => $model]);
} else {
return $this->render('create', ['model' => $model]);
}
}
}
还有我的js代码
$(function(){
$('#modalButton').click(function(){
$('#modal').modal('show')
.find('#modalContent')
.load($(this).attr('value'));
});
$('#modal').on('show.bs.modal', function () {
$('.modal-lg .modal-content').css('height',$( window ).height()*0.55);
});
});
正如我所说,我已经通过使用上面的 js 脚本解决了这个问题,但我认为这不是最好的解决方案,因为我必须像这样为每个模态手动设置高度。什么可能导致这个问题?有没有人遇到过这个问题并解决了?
【问题讨论】:
标签: yii2 modal-dialog