我在我的Yii项目中使用CStarRating。目前我必须做的是设置评分,然后点击提交。这工作得很好,但我希望在数据库中获得更新单Go。我尝试了各种基于Ajax的技巧,但我是新的,所以我失败了。CStarRating点击保存
这里是我现有的代码
$this->widget('CStarRating',array(
'model'=>$model,
'attribute'=>'hotel_rating',
'readOnly'=>FALSE,
));
以下阿贾克斯一个
$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()
你确定ajax调用中的$(this).val()会返回rate值吗? – zuo 2011-12-26 18:06:04
我不知道,但在很多地方都是这样做的 – 2011-12-26 18:13:40