2014-10-11 53 views
2

我試圖在Yii 1.1.15中使用$.fn.yiiListView.update來更新我的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); 
      }, 

回答

0

解決它。由於某種原因不得不再次下載Yii 1.1.15。有些東西壞了,我猜。

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

現在工作正常。