在页面上显示数据后,Ajax无法正常工作

时间:2011-06-14 18:49:41

标签: jquery ajax

我有一个页面,我在网站上显示朋友列表。但在同一页面上,我有一个搜索框,可以搜索新朋友。这是我的问题。清除div并显示搜索结果后,其中一个Ajax函数不起作用。

这是在显示Ajax结果后不起作用的函数。

$("a[rel=adduser]").click(function(){
 var fullurl = this.href;
 //REMOVE THE VALUE FROM THE URL
 fullurl = fullurl.replace(/^.*#/, '');
 alert(fullurl);
});

以下是调用该函数的代码部分。 (这是代码的一部分......代码从数据库获取数据并循环生成HTML代码并在scrren上显示)

for(var i=0; i<data.ROWCOUNT; i++) {
  var html = "<div class='grid_1' style='margin:7px;'><div class='stimglg' align='center'>";
  html = html + "<img src='http://www.cysticfibrosis.com/profile/images/profileimages/" + data.DATA.PROFILEIMAGE[i];
  html = html + "' alt='" + data.DATA.VCHNICKNAME[i] + "' width='150' height='150' border='0' /><br>";
  html = html + "</div><div align='left' style='padding-left:10px;'><h3><a href='http://www.cysticfibrosis.com/profile/index.cfm/" + data.DATA.VCHNICKNAME[i] +"'>" + data.DATA.VCHNICKNAME[i] + "</a></h3>";
  html = html + "<h4><a href='/#" + data.DATA.IUSERID[i] + "' rel='adduser' onclick='return false;'>Add as a Friend</a></h4></div></div>";
  $('#nearResult').append(html);
}

1 个答案:

答案 0 :(得分:4)

它不起作用,因为click事件仅附加到页面上的第一个项目,而不是通过AJAX生成的项目。您需要查看Live()函数。实时函数将事件附加到在原始页面加载后动态生成的项目。

查看此documentation