jQuery附加双重发布

时间:2013-10-10 12:30:44

标签: jquery append double

我有一个jquery代码发布到一个php页面,这反映了一些结果。 当我点击链接并附加数据时,当您单击多次时,它会使数据加倍。 它完全理解为什么它会这样做(我认为),但你对如何防止双重附加发生有任何建议吗?

代码:

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;
    });
});

3 个答案:

答案 0 :(得分:2)

如果要覆盖#txtHint中的数据:

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

PS。我希望这就是你要问的问题

答案 1 :(得分: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);

答案 2 :(得分: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);
   }