【发布时间】:2009-09-30 04:32:42
【问题描述】:
我有一个相当简单的 ajax 操作链接。操作链接的目的是从服务器获取部分视图并将 div 的内容替换为新内容。
代码看起来像:
<%= Ajax.ActionLink("click me", "GetThing",
new { Mode = "Simple"},
new AjaxOptions {
UpdateTargetId = "thingDiv",
OnComplete = "completeGetThing"
})%>
如您所见,操作链接只是将页面(thingDiv)中 div 标签的内容替换为来自服务器的新内容。
我还为 OnComplete 事件调用了一个 javascript 函数。这里的回调函数需要对加载到thingDiv中的内容做一些事情。
这是我在 javascript 中所做的简化示例:
function completeGetThing{
if($("#thingDiv #subThing").length > -1){
doOtherThing();
}
}
我只是使用 jQuery 从我们正在更新的 div 中获取一个名为“subThing”的元素。
但我发现 OnComplete 函数似乎在 thingDiv 中的 HTML 被实际替换之前触发了......所以当我的回调去寻找“subThing”元素时,它没有找到它。
这是我正在做的一个非常简单的例子。
我正在寻找关于如何解决这个问题的好建议,或者更好的是有人指出我忽略的可以完成工作的东西。
谢谢!
【问题讨论】:
标签: asp.net jquery asp.net-mvc