2012-02-08 126 views
0

如何让jquery停止从ajax请求中替换文本。停止jquery替换文本

var nameid = 1; 
$(document).ready(function(){ 
$('button').click(function(){ 
$('#loadbox').load('mysqlquery.php?id='+nameid); 

nameid++; 

}); 
});// DONT DELETE 

它拉我想要的信息,只是当我再打电话它取代了前面的单词。

+0

你想要它做什么? – ggreiner 2012-02-08 02:14:38

+0

替换**哪里**?在'#loadbox'中? – entropid 2012-02-08 02:14:45

回答

1

不要使用​​..使用jQuery.get()docs对于AJAX部件和.append()docs将它们添加到您想要的元素(同时保留现有的信息

也可以缩进你的代码,以避免像// DONT DELETE

var nameid = 1; 
$(document).ready(function(){ 
    $('button').click(function(){ 
     $.get('mysqlquery.php?id='+nameid, function(data){ 
      $('#loadbox').append(data); 
     }); 
     nameid++; 
    }); 
}); 
+0

非常感谢您的先生 – Cjueden 2012-02-08 02:20:50

0

你的意思,你只是想一旦加载评论?

var nameid = 1; 
$(document).ready(function() { 
    var loaded = false; 
    $('button').click(function() { 
     if (!loaded) { 
      $('#loadbox').load('mysqlquery.php?id=' + nameid, function() { 
       loaded = true; 
      }); 
     } 
    }); 
}); 

更新: 如果你希望每次单击将数据追加,看到@Gaby又名G. Petrioli的答案。

+1

,因为他在请求中使用了一个计数器作为参数,我假定他想要发出多个请求但不会丢失之前的值.. – 2012-02-08 02:17:35

+0

@ GabyakaG.Petrioli Yap,你说得对也许:) – xdazz 2012-02-08 02:23:01

0

你可能想看看除了​​其他的jQuery AJAX方法 -​​将被要求返回所提供的URL的响应填充所选元素(在这种情况下,“loadbox”的ID的元素),它会一直覆盖现有的内容。

这听起来像你想要做的是追加对元素的响应。在这种情况下,你可以这样做:

$.ajax('mysqlquery.php?id=' + nameid, { 
    dataType : 'html', 
    success : function(html) { 
    $('#loadbox').append(html); 
    } 
});