0

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

代码:

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

3 回答 3

2

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

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

附言。我希望这是你要问的

于 2013-10-10T12:34:33.260 回答
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);
于 2013-10-10T12:35:34.860 回答
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);
   }
于 2013-10-10T12:40:12.173 回答