0

我在使用 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>

预先感谢您的帮助

4

0 回答 0