我在使用 Ajax 和 ClistView 时遇到问题。
我有2个帖子,每个都有评论,第一个有3个评论,第二个有一个评论。
后一个
链接到评论(3)
帖子 B
链接到评论(1)
当我单击 Link to Comments(3) 时,如预期的那样,我得到了以下信息
后一个
评论 1
评论 2
评论 3
帖子 B
链接到评论(1)
但是当我点击评论(1)时,我得到了
后一个
帖子 B 的评论 1
帖子 B
所以帖子 B 的评论显示在帖子 A 的下方。
我该如何解决这个问题?
Ajax链接的代码如下
<?php
echo CHtml::ajaxLink(
'Test request',
array($url_replace),
array(
'update'=>'#req_res_loading',
'beforeSend' => 'function() {
$("#maindiv").addClass("loading");
}',
'complete' => 'function() {
$("#maindiv").removeClass("loading");
}',
)
);
echo '<div id="req_res_loading">...</div>';
?>
并通过 Clistview 命令调用注释
<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_comment',
'template'=>"{items}\n{pager}",
)); ?>
我的 _comments 视图包含以下内容
<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_comment',
'template'=>"{items}\n{pager}",
)); ?>
我的 _comment 视图包含以下内容
<div class="comment">
<div class="content">
<?php
$this->beginWidget('CMarkdown', array('purifyOutput'=>true));
echo $data->content;
$this->endWidget();
?>
</div>
</div>
并且帖子视图是带有此代码的renderPartial
<div class="post">
<div class="title">
<?php echo CHtml::link(CHtml::encode($data->title), $data->url); ?>
</div>
<div class="author">
posted by <?php echo $data->author->username . ' on ' . date('F j, Y',$data->create_time); ?>
</div>
<div class="content">
<?php
$this->beginWidget('CMarkdown', array('purifyOutput'=>true));
echo $data->content;
$this->endWidget();
?>
</div>
预先感谢您的帮助