我尝试使用$.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);
},
答案 0 :(得分:0)
解决了它。由于某种原因,不得不再次下载Yii 1.1.15。我猜想有什么东西坏了。
$.fn.yiiListView.update("store-list", { data:ajaxRequest });
现在工作正常。