我在Yii项目中使用CStarRating。目前我要做的是设置评级然后点击提交。这非常有效,但我希望数据库中的数据能够在单个Go中获得更新。我尝试了各种基于Ajax的技巧,但我是新手,所以我失败了。
这是我现有的代码
$this->widget('CStarRating',array(
'model'=>$model,
'attribute'=>'hotel_rating',
'readOnly'=>FALSE,
));
我试过跟随ajax一个
$this->widget('CStarRating',array(
'name'=>'rating',
'model'=>$model,
'attribute'=>'hotel_rating',
'callback'=>'
function(){
$.ajax({
type: "GET",
url: "'.Yii::app()->createUrl('hotel/update').'",
data: "id='.$model->id.'&rate=" + $(this).val(),
success: function(msg){
alert("Sucess")
},
error: function(xhr){
alert("failure"+xhr.readyState+this.url)
}
})}'
));
在控制器中我做但仍然不走运
$model->hotel_rating = $_GET['rate']
$model->save()
答案 0 :(得分:1)
在控制器中,我想它应该是$model->hotel_rating = $_GET['rate']
,同样$ _GET ['id']将返回模型的id。