Javascript PHP Yii-单击列表,然后显示在模式中单击的列表的完整数据

Javascript PHP Yii-单击列表,然后显示在模式中单击的列表的完整数据,javascript,php,jquery,yii,Javascript,Php,Jquery,Yii,我刚刚开始使用Yii框架。我当时很难过 单击时将列表的数据传递给模式。我已经在使用AJAX了。 我的模态与我的列表在同一视图中。 所以我的代码基本上是这样的 我的看法是: <div id="view-data" class="modal viewdata-modal fade hide" data-backdrop="true"> <!-- the full data from clicked list --> </div> . . . <div&g

我刚刚开始使用Yii框架。我当时很难过 单击时将列表的数据传递给模式。我已经在使用AJAX了。 我的模态与我的列表在同一视图中。 所以我的代码基本上是这样的

我的看法是:

<div id="view-data" class="modal viewdata-modal fade hide" data-backdrop="true">
<!-- the full data from clicked list -->

</div> 
.
.
.
<div>
<!--table--list of something-->

    <tr class="odd">
        <td class=" "><a onclick="checkData('<?php echo $inbox_list_data['id']; ?>')" data-toggle="modal" data-target="#view-mail" ><?php $list_data['title'];?></td>                                               else echo $msg; ?></a></td>
        <td class=" "><?php $date = $list_data['date_updated']; echo date('Y / m / d',strtotime($date));?></td>
    </tr>

</div> 
然后在我的控制器中:

    public function actionIndex()
    {
        //getting list from db then render

    }

    public function actionView()
    {
        $this->initPage();
        Helper_Site::supportMessageJS();

        if(isset($_POST['id']))
        {
            $id = $_POST['id'];
            //use the id for getting the data then ...??
        }

        //I cannot render since i'm passing it to modal and i dont have to refresh the page right?
        $this->renderPartial('index', array('data1'=>$data1, 'data2'=>$data2, true, false);

    }
那么,如何将数据传递回视图?但我也不确定我的JS


任何想法都非常感谢。谢谢

在ajax完成后,您必须更新视图容器

function checkData(id) {
        $.ajax({
            type : 'POST',
            url : "/link/data/view",
            data : {'id' : id},
        }).done(function( data ) {
          $("#view-data").html(data);
       }
      });
}

这个URL可能只适用于一个视图吗?该链接正在使用两个视图。是的,您可以使用相同的视图。我在模式中添加了renderPartial,但仍然没有显示。我在上面更新了代码。我仍然必须在控制器中使用renderPartial?是的,renderPartial提供服务器端的输出,然后您必须将其放入客户端html
function checkData(id) {
        $.ajax({
            type : 'POST',
            url : "/link/data/view",
            data : {'id' : id},
        }).done(function( data ) {
          $("#view-data").html(data);
       }
      });
}