2011-07-01 19 views
0

私は以下の問題を助けたいと思います。CakePHP - jQueryを使用してDbから新しい結果を取得しないでください

ユーザーがイメージ(ThumbsUpまたはThumbsDown)をクリックし、Db内の指定されたフィールドを1ずつ増加させ、新しい結果がビューに返送されるはずのシステム設定があります。私はDbの値をインクリメントするためにjQueryを使用することができますが、更新するための正しい値を得ることはできません。それはちょうどArrayと表示されます。私はそれがなぜ分かったのかと思います。しかし、どうすればこの問題を解決できますか?

enter image description here

マイビューファイル

... 
<div id="article_thumbsUp"> 
    <?php echo $comment['Comment']['liked'];?> 
</div> 
<img class="voteup" width="20" src="/img/icons/thumb-up-icon.png"> 
... 

私のjQueryのコードを、私は私が10 $comments['Comment']['id']

と交換しないか、 /comments/voteup/10を持っているのjQueryを、に関する

<script> 
    $(".voteup").click(function() { 
     $('#article_thumbsUp').change(function() { 
      $(this).load('/comments/voteup/10'); 
      function(result) { 
       $('#article_thumbsUp').html(result); 
      }; 
     }) 
     .change(); 
    }); 
</script> 

私が知っている

そして、私のコントローラファイル

function voteUp($id = null){  

    $this->autoRender = false; 

    if($this->RequestHandler->isAjax()){ 
     $this->Comment->id = $id; 
     if($this->Comment->saveField(
          'liked', 
          $this->Comment->field('liked')+1)){   
         $newValue = $this->Comment->findById($id); 
       } 
    } 

    return $newValue; 
} 

は、データの配列を作成します。フィールドlikedのみを返すにはどうすればいいですか?

どうもありがとう、

答えて

1

私はあなたが気に入ったフィールドを取得するために$newValue['Comment']['liked']を使うべきだと考えています。

javascriptに関して、私はあなたのhtmlのスクリプトセクションにID番号を動的に表示します。つまり、スクリプトはドキュメントの本文になければなりません。

<script> 
    $(".voteup").click(function() { 
     $('#article_thumbsUp').change(function() { 
      $(this).load('/comments/voteup/<?php echo $comments['Comment']['id']?>'); 
      function(result) { 
       $('#article_thumbsUp').html(result); 
      }; 
     }) 
     .change(); 
    }); 
</script> 
+0

最初の提案に感謝します。 2番目の提案は機能していますが、私が必要とすることはしていません。私は、foreachを使用して生成された同じページで利用可能なコメントが多数あることを説明しませんでした。 $ comments ['Comment'] ['id']を使って、jQueryはforeachによってエコーされた最後のComment.idを取得しています。 foreachが使用され、多くのComment.idが利用可能な状況にどのように接近すべきか。 –

+0

ビューファイルからさらにコードを投稿できますか?各コメントが追加されるforloopを追加します。 – AlexBrand

+0

私はより多くのコードを掲載しました。上記を参照してください..ありがとう –

関連する問題