【问题标题】:Ajax not working after displaying data on page在页面上显示数据后 Ajax 无法正常工作
【发布时间】:2011-06-15 02:55:17
【问题描述】:

我有一个页面,其中显示了我的网站成员的朋友列表。但在同一页面上,我有一个搜索框,他们可以在其中搜索新朋友。这是我的问题。在我清除 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);
}

【问题讨论】:

    标签: jquery ajax


    【解决方案1】:

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

    看看这个documentation

    【讨论】:

    • 是的,基本上是添加 $("a[rel=adduser]").live("click",function(){ });
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 2012-08-04
    • 2010-12-29
    相关资源
    最近更新 更多