我正在使用Yii2模式更新模态窗口中的表单,但我无法获取已在表单中填充的值。
在下面的屏幕截图链接中:
http://awesomescreenshot.com/0f957qq367
当我点击编辑选项时,它会转到我在模态窗口中打开的更新表单。但是此表单在所有字段中显示空值。我想更新表单。
请在下面的屏幕截图中找到:
http://awesomescreenshot.com/0f257qqscb
这是我尝试过的代码片段:
<?php
use yii\bootstrap\Nav;
use yii\bootstrap\Modal;
Modal::begin([
'id'=>'modalEdit',
//'header' => '<h2>Hello world</h2>',
'size'=> 'modal-lg',
//'toggleButton' => ['label' => 'click me'],
]);
$newmodel = new Backlog();
// $newmodel->id;
echo $this->render('/backlog/update', ['model' => $newmodel]);
Modal::end();
echo Nav::widget([
'options' => ['class' => 'nav-pills navbar-right'],
'encodeLabels' => false,
'items' => [
['label' => '', 'items' => [
['label' => '<span data-toggle="modal" data-target="#modalEdit" style="cursor: pointer;">Edit</span>','url' => 'javascript:void(0);'],
'<li class="divider"></li>',
['label' => '<span>Assign</span>', 'url' => ['#']],
'<li class="divider"></li>',
['label' => '<span>Convert To Backlog</span>', 'url' => ['#']],
'<li class="divider"></li>',
['label' => '<span>Close</span>', 'url' => ['#']],
]],
],
]);
答案 0 :(得分:0)
如果Backlog是ActiveRecord则用此替换Line。
$newmodel = Backlog::findOne(['ID'=>$id]);
答案 1 :(得分:0)
最后,我使用javascript和ajax loading来解决问题:
$(document).on("click",".edit-backlog",function(e){
var back_l_id=$(this).attr("b-id");
var modal_body=$("#modalEdit").find(".modal-body");
$.ajax({
url:getAjaxUrl('backlog','update'),
data:{'id':back_l_id},
success:function(res){
//console.log(res);
modal_body.html(res);
}
});
});
我添加了一个班级.edit-backlog
来获取id
(&#34; b-id&#34;)并在上面的脚本中使用。希望这个答案也能帮助其他人。