$ .fn.yiiListView.update不会更新ClistView

时间:2014-10-11 14:47:26

标签: php yii

我尝试使用$.fn.yiiListView.update在Yii 1.1.15中更新我的ClistView。 我确实回应了正确的结果,但它并没有更新列表。

在我的JS中

var ajaxRequest = "lat="+position.coords.latitude+"&lng="+position.coords.longitude;
$.fn.yiiListView.update("store-list", {data:ajaxRequest});

actionIndex()

if ($_GET['ajax']==='store-list') {
            $sql = "SELECT * FROM ........ ";
            $count=Yii::app()->db->createCommand('SELECT COUNT(*) FROM `store` WHERE `pending`!="1"')->queryScalar();
            //echo $query;
            $dataProvider=new CSqlDataProvider($sql, array(
                                                    'params'=> array(':lat' => $lat, ':lng'=>$lng, ':radius'=>$radius),
                                                    'totalItemCount'=>$count,
                                                    'sort'=>array(
                                                        'attributes'=>array(
                                                             'store', 'state', 'distance',
                                                        ),
                                                    ),
                                                    'pagination'=>false
                                                )
                                            );
            //render page
            $this->renderPartial('_store-list',array(
                    'dataProvider'=>$dataProvider,
            ));
        }

在我看来,index.php我这样称呼_store-list.php

<div class="padding-top-20px">
            <?php $this->renderPartial('_store-list', array("dataProvider"=>$dataProvider)); ?>
</div>

在我的_store-list.php我有这个

<?php 
        $this->widget('zii.widgets.CListView', array(
            'id' => 'store-list',
            'dataProvider'=>$dataProvider,
            'itemView'=>'_view',
            'pagerCssClass' => 'pagination',
            'ajaxUpdate'=>false, //disable ajax sort and pagination
            'loadingCssClass' => '', //remove loading icon
            'sortableAttributes'=>array(
                'dealership' => 'Store',
                'state' => 'State',
                'distance' => 'Distance'
            ),
        )); ?>

任何想法为何不更新clistview?

UDPATED:

将其缩小至此。在我的jquery.yiilistview.js中,每个循环都失败了。尝试手动设置ajaxUpdate变量喜欢这个。但仍然失败了。在调试ajaxUpdate中仍然是空的。任何想法?

在我的JS中:

 $.fn.yiiListView.update("store-list", {ajaxUpdate:"store-list", data:ajaxRequest});
jquery.yiilistview.js中的

success: function(data,status) {
                console.debug(settings);
                $.each(settings.ajaxUpdate, function(i,v) {
                    $(id).replaceWith($(id,'<div>'+data+'</div>'));
                });
                if(settings.afterAjaxUpdate != undefined)
                    settings.afterAjaxUpdate(id, data);
            },

1 个答案:

答案 0 :(得分:0)

解决了它。由于某种原因,不得不再次下载Yii 1.1.15。我猜想有什么东西坏了。

$.fn.yiiListView.update("store-list", { data:ajaxRequest });

现在工作正常。