2012-01-14 105 views
0

我試圖實現單星評級(即類似按鈕)。

我想更改(切換)星形圖像。它似乎唯一的問題是,雖然使用$ .ajax,在「成功:」部分,src attr(或其他任何真的,如.css)適用於一(第一次)只有 !事實上,客戶端必須刷新頁面以查看最新的星形圖像/狀態(從db加載)。


下面的代碼:

<script language="javascript"> 
    // Ajax: Star 
    $("#p<?php echo $pID;?>").find('.star').click(function (e) { 
     e.preventDefault(); 

     $.ajax({ 
     type: "POST", 
     url: "./ajax.php", 
     data: "pID=<?php echo $pID;?>", 
     cache: false, 

     success: function(html) 
     { 
      $("#s<?php echo $pID;?>").attr("src",html); 
     } 
     }); 
    }); 
    // END OF: Ajax: Star 
</script> 

php文件回聲回一個文件名這是爲了與src屬性(如星on.png或星形假取代.png)

所以我想問的是:爲什麼「成功:函數」只觸發一次?

+2

您應該使用:用type =「text/javascript」替換language =「javascript」。第二個是正確的做法。 – TimWolla 2012-01-14 22:25:14

+1

你確定腳本正確返回狀態嗎?例如通過提醒var'html'? – TimWolla 2012-01-14 22:26:19

+0

html的值是多少? – 2012-01-14 22:27:34

回答

0

我終於意識到問題所在。這是由於服務器端文件(php),因爲它總是評估從客戶端文件給出的靜態數據。我需要做的就是刷新我的php文件中的切換觸發器。