Yii2:获取值以在模态窗口中更新表单

时间:2015-09-07 07:02:53

标签: javascript jquery twitter-bootstrap yii2 bootstrap-modal

我正在使用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' => ['#']],
            ]],
            ],
        ]);

2 个答案:

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