当用户导航到不同区域时(通过更新div),我们会动态更新网页的部分内容。我们有一个包含jquery对话框的部分以及创建对话框的脚本。当我们第一次构建页面时,一切都很好。然后,我们使用包含新对话框的新内容更新div,但是当我们显示此对话框时,我们将获得之前存在的旧对话框。我已经尝试在加载新内容之前销毁对话框,在这种情况下,新对话框将不会显示。按钮单击事件打开对话框。看来用jquery对话框加载div是行不通的。这有什么限制吗?我正在使用jquery div.html(内容)加载新内容。正在加载新内容,因为我可以看到其他更改。
答案 0 :(得分:0)
听起来你需要从评论中重新点击click事件。在$.ajax()
调用中重新绑定成功选项中的元素。
$.ajax({
beforeSend: function () {
// Unbind all dialogs first.
$(".dialog").each(function() {
$(this).dialog("destroy");
});
},
url: "/Foo/GetSomeData",
type: "GET",
success: function (data) {
$("div").html(data);
// Get all buttons and bind click to open dialog
// You'll need to customize this logic depending on your markup.
$(".button").each(function() {
$(this).click(function() {
// Determine which dialogs need to be bound.
$("#dialog_1").dialog("open");
// etc
});
});
}
});