2011-12-26 11 views
1

私はYiiプロジェクトでCStarRatingを使用しています。私がやらなければならないことは、定格を設定してからsubmit.Thisがうまくいくのですが、DB内のデータを単一のGoで更新したいのです。私は様々なAjaxベースのトリックを試しましたが、私は新しいので失敗します。ここCStarRating On保存をクリックして

はアヤックス1

$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

ajax呼び出しで '$(this).val()'がレート値を返すことは確かですか? – zuo

+0

私は知りませんが、このように多くの場所で行われました –

答えて

1

以下、私が試してみました、私の既存のコード

$this->widget('CStarRating',array(
      'model'=>$model, 
      'attribute'=>'hotel_rating', 
      'readOnly'=>FALSE, 
     )); 

ですが、私はそれが必要がありますね$model->hotel_rating = $_GET['rate']であり、同様に$ _GET ['id']はモデルのIDを返します。

+0

ご迷惑をおかけします。 –

+0

更新アクションでモデルを更新したい場合は、最初に$ _GET ['id']でモデルを検索する必要があります。私はうまく動作するあなたのコードでこのウィジェットをテストしました。あなたのエラーは何ですか? – zuo

+0

エラーなし値は更新されません:(ステップを比較できるようにコードを貼り付けることができますか?私はYii.を新しくしていますが、表示されているようですが、データは更新されません。 –

関連する問題