Yii2:获取值以更新模式中的表单 window
Yii2: Get values to update form in modal window
我正在使用 Yii2 模态更新模态 window 中的表单,但我无法获取已填写在表单中的值。
在下面的 link 屏幕截图中:
http://awesomescreenshot.com/0f957qq367
当我单击编辑选项时,它会将我带到以模式 window 打开的更新表单。但是此表单在所有字段中都显示空值。我想更新表格。
请在下面的屏幕截图中找到它:
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' => ['#']],
]],
],
]);
如果 Backlog 是 ActiveRecord,请用此替换行。
$newmodel = Backlog::findOne(['ID'=>$id]);
最后,我使用 javascript 和 ajax 加载解决了问题:
$(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);
}
});
});
我添加了一个 class .edit-backlog
来跨越并获得 id
("b-id") 并在上面的脚本中使用。希望这个回答对其他人也有帮助。
我正在使用 Yii2 模态更新模态 window 中的表单,但我无法获取已填写在表单中的值。
在下面的 link 屏幕截图中:
http://awesomescreenshot.com/0f957qq367
当我单击编辑选项时,它会将我带到以模式 window 打开的更新表单。但是此表单在所有字段中都显示空值。我想更新表格。
请在下面的屏幕截图中找到它:
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' => ['#']],
]],
],
]);
如果 Backlog 是 ActiveRecord,请用此替换行。
$newmodel = Backlog::findOne(['ID'=>$id]);
最后,我使用 javascript 和 ajax 加载解决了问题:
$(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);
}
});
});
我添加了一个 class .edit-backlog
来跨越并获得 id
("b-id") 并在上面的脚本中使用。希望这个回答对其他人也有帮助。