【问题标题】:zii.widgets.CListView with CStarRating doesn't reload stars jquery on pagination带有 CStarRating 的 zii.widgets.CListView 不会在分页时重新加载星星 jquery
【发布时间】:2014-07-01 21:14:46
【问题描述】:

厚底!

我有一个 Yii 网页,上面列出了我加载的一堆产品:

 $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_listareProduse',  ));

在 _listare produse 中,我正在加载星级小部件,如下所示:

$criteria = new CDbCriteria;
                $criteria->condition = "product_id='".$data->product_id."'";
                $rating = Rating::model()->findAll($criteria);

        echo CHtml::beginForm();
        $this->widget('CStarRating',array(
                'name'=>'rating',
                'value'=> $rating[0]->rating,
                'readOnly'=>true,
                ));
        echo CHtml::endForm();

当我加载页面时,所有加载都很好,在我从分页中点击一个数字或下一个 /prev 后,它会进行分页,但 CStarRating 无法加载

知道为什么吗?尝试将 'id' => '#qwerty' 放入 ClistView 但失败了。

【问题讨论】:

    标签: php jquery yii


    【解决方案1】:

    那是因为您是通过 ajax 加载页面,您在页面加载时加载了 js 进行评级(通过小部件调用),这段 js 不知道 DOM 已更改,因此您必须重新初始化 @ 987654321@ 小部件,您可以将其添加到您的ListView

     $this->widget('zii.widgets.CListView', array(
        'dataProvider'=>$dataProvider,
        'itemView'=>'_listareProduse',  
        'afterAjaxUpdate'=>'js:function(){
                $("[id^=rating] > input").rating({"readOnly":true}); 
         }',
     ));
    

    您还需要更改itemView,因为您对所有评级使用相同的id“评级”,如您所知,id 在HTML 中应该是唯一的。我已经添加了行的 id 以及 rating ,所以你会 rating1 rating2 等吗,如果你想使用其他键,记得相应地调整 afterAjaxUpdate 调用

    $this->widget('CStarRating',array(
                    'name'=>'rating'.$data->id,
                    'value'=> $rating[0]->rating,
                    'readOnly'=>true,
                    ));
    

    【讨论】:

    • 我修改了您发布的代码,但仍然没有结果:所以:在星级小部件中添加:'name'=>'rating'.$data->product_id,Ajax 部分完全一样您发布(复制粘贴)不知道我是否应该修改其中的内容
    • ok 我明白了:我必须修改并添加 afterAjaxUpdate id^=rating'.$data->product_id.'... 谢谢先生!你是我今天的英雄!在网上的任何地方都没有找到这条建议。不能单独做;)
    • 只要能解决问题 :),我以前也遇到过类似的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-16
    • 1970-01-01
    • 2016-09-26
    • 2015-11-03
    • 2012-11-26
    • 2014-10-22
    相关资源
    最近更新 更多