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") 并在上面的脚本中使用。希望这个回答对其他人也有帮助。