2013-10-10 68 views
0

我有一個jQuery代碼發佈到一個php頁面,這是迴應一些結果。 當我點擊一個鏈接並追加數據時,當您單擊多次時,它會使數據翻倍。 它完全理解爲什麼它會這樣(我認爲),但你有什麼建議如何防止雙重追加發生?jquery append double posting

代碼:

jQuery(function(){ 
    jQuery('.link').click(function(){ 
     var id = jQuery(this).attr('id'); 

     jQuery.ajax({ 
      url : "medialib/getpictures.php", 
      data: "linkid="+id, 
      type : "post", 
      success: function(html){ 
       jQuery('#txtHint').append(html); 
     } 

     }); 
    return false; 
    }); 
}); 

回答

2

如果你想在#txtHint覆蓋數據:

jQuery('#txtHint').html(html); 

PS。我希望這是你問

+0

完全給人感覺和工作就像一個魅力 - 非常感謝:) 不知道爲什麼我用這個^^附加 – simon

0

嘗試使用html()

jQuery('#txtHint').html(html); 

如果你想保持以前的數據,然後嘗試像,

prevHTML=jQuery('#txtHint').html(); 
newHTML=prevHTML.replace(html,'')+html; // replace previous html if same html comes in 
jQuery('#txtHint').html(newHTML); 
0

也許你應該禁用該鏈接通過不允許用戶點擊它並在添加完成後啓用。

jQuery(function(){ 
    jQuery('.link').click(function(){ 
     var id = jQuery(this).attr('id'); 
     //diable .link click here 
     jQuery.ajax({ 
      url : "medialib/getpictures.php", 
      data: "linkid="+id, 
      type : "post", 
      success: function(html){ 
       jQuery('#txtHint').append(html); 
       //enable it again here 
     } 

     }); 
    return false; 
    }); 
}); 

或者你也可以使用HTML()函數簡單地替換現有的內容,

這樣,

success: function(html){ 
     jQuery('#txtHint').html(html); 
    }