2012-07-11 85 views
0

關於此問題有很多主題,我嘗試瞭解決方案,但沒有任何工作。我不是一個JavaScript開發人員,所以可能無法弄清楚。更改jquery中onclick的值

我有一個的onclick功能在我的HTML(PHP模板文件)

<a href="javascript:;" onclick="AddFav({$id});" title="Add to Favs">Fav</a> 

點擊後,jQuery的AJAX功能被調用和成功,我想的的onclick值更改爲RemoveFav({$ ID}。我changine標題與.attr值。

$('div#fav-'+ id +' a').unbind('click').removeAttr('onclick').click(RemoveFav(id);); 

請你幫助我一樣。

+1

爲什麼不能對onClick事件一個功能,而是一個全局變量(0或1),當它是0 - 添加到收藏,當它是1從收藏中刪除? 我想說這是一個不錯的解決方案,因爲如果他們再次訪問該網站,但已經很受歡迎,他們也希望看到'刪除fav',因此您可以根據數據庫中的值設置全局變量。 – PoeHaH 2012-07-11 06:57:31

+0

嗨@PoeHaH,即使我想到了這個解決方案。當頁面被加載時,它檢查每個項目是否存在或不存在。因此,onclick函數更改爲AddFav或RemoveFav。我們可以使用相同的函數,但是如何在每次點擊時將0的值更改爲1,反之亦然。 – 2012-07-11 07:16:41

+0

我會在一個答案中發佈它,因爲代碼看起來更好:) – PoeHaH 2012-07-11 07:22:44

回答

0

.click需要一個回調函數。

$('div#fav-'+ id +' a').unbind('click').removeAttr('onclick').click(function(e) { 
    e.preventDefault(); 
    RemoveFav(id); 
}); 
+0

Hi @xdazz,感謝您的快速回復。我試過你的解決方案。但是現在點擊功能已停止工作。 :( – 2012-07-11 07:18:05

+0

@VineshkumarKunhiraman嘗試設置'href =「#」'並使用我編輯的代碼。 – xdazz 2012-07-11 07:22:36

+0

Hi @xdazz,它工作。從我的結尾有一個錯誤,我沒有正確關閉括號{}。 – 2012-07-11 07:41:42

0

如果你做我的建議在評論你的代碼應該是這個樣子:

var removeFav = 0; // this should be set according to database query, to check if it's favved 

function toggleFav() 
{ 
    if(removeFav == 0) 
    { 
    //code to add fav 
    removefav = 1; 
    } 
    else 
    { 
     //code to remove fav 
    removefav = 0; 
    } 

}