$this->widget('CStarRating',array(
'name'=>'star_rating_ajax',
'skin'=>'default' ,
'value'=>4,
'minRating'=>1,
'maxRating'=>5,
'callback'=>'js:function(){ alert($(this).val());$(this).rating("readOnly",true)}',
));
一般使用星星組件都希望點擊一次後即算是提交,當然點擊完後不可修改當然ranting本身有readOnly屬性,但想通過ajax提交的時候怎麼設置爲只讀呢,這時可以使用$(this).rating("readOnly",true)來設置.
更正,後來嘗試發現更不不能滿足我的需求
<form>
<?php
$this->widget('CStarRating',array(
'id'=>"starrating",
// 'titles'=>'Content Rating:',
'name'=>'star_rating_ajax',
'skin'=>'default' ,
'value'=>4,
// 'starWidth'=>50,
// 'readOnly'=>true,
'minRating'=>1,
'maxRating'=>5,
'callback'=>'js:function(){
var thisone=$(this);
// $(this).rating("readOnly",true);
// alert($(this).val());
$.ajax({
type:"POST",
async:false,
data:{"star_rating":$(this).val()},
url:"'.Yii::app()->createUrl('index/ratingajax').'",
success:function(msg){
alert(msg);
// thisone.rating("select",1); //跳轉到指定位置
// thisone.rating("readOnly",true);//設置爲只讀
// thisone.rating("disable");//設爲啓用
}
});
}',
)); ?>
</form>
<input type="button" οnclick="javascript:$('input[type=radio]',this.form).rating('enable').rating('select',0)" value="button" />
</div>