jquery用包含脚本的HTML更新div

时间:2012-02-09 02:24:05

标签: jquery dialog

当用户导航到不同区域时(通过更新div),我们会动态更新网页的部分内容。我们有一个包含jquery对话框的部分以及创建对话框的脚本。当我们第一次构建页面时,一切都很好。然后,我们使用包含新对话框的新内容更新div,但是当我们显示此对话框时,我们将获得之前存在的旧对话框。我已经尝试在加载新内容之前销毁对话框,在这种情况下,新对话框将不会显示。按钮单击事件打开对话框。看来用jquery对话框加载div是行不通的。这有什么限制吗?我正在使用jquery div.html(内容)加载新内容。正在加载新内容,因为我可以看到其他更改。

1 个答案:

答案 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
            });
        });
    }
});