具有旧值的Jquery模态对话框

具有旧值的Jquery模态对话框,jquery,jquery-dialog,Jquery,Jquery Dialog,下面是我的简单Jquery对话框。我在页面上有5次相同的课。我正在使用Iframe在对话框中加载另一个页面 第一次,所有字段都是空的。选择值并打开另一个对话框后,它将显示旧值。如何加载带有空值的页面 $(document).ready(function () { $(".imgSearch").click(function (e) { $("#divSearch").dialog({ open: function ()

下面是我的简单Jquery对话框。我在页面上有5次相同的课。我正在使用Iframe在对话框中加载另一个页面

第一次,所有字段都是空的。选择值并打开另一个对话框后,它将显示旧值。如何加载带有空值的页面

   $(document).ready(function () {
        $(".imgSearch").click(function (e) {
            $("#divSearch").dialog({
                open: function () {
                    $(this).closest(".ui-dialog")
                    .find(".ui-dialog-titlebar-close")
                    .removeClass("ui-dialog-titlebar-close");
                },
                title: "Search Employee",
                show: "scale",
                modal: true,
                width: '55%',
                height: 500
            });
        });
    });

我以前也有过类似的问题,但那是引导模态。我所看到的问题是,我多次使用同一个实例。您可能需要创建不同的,而不是重复使用一个用于多个


根据我的经验继续。

该对话框将包含与前一个对话框相同的内容。您需要编写代码来清除任何元素。我还将添加一个
close
事件处理程序并销毁最后一个实例,例如:

$(document).ready(function () {
    $(".imgSearch").click(function (e) {

        //Clear elements here.....

        $("#divSearch").dialog({
            close: function() { $(this).dialog('destroy'); },
            open: function () {
                $(this).closest(".ui-dialog")
                .find(".ui-dialog-titlebar-close")
                .removeClass("ui-dialog-titlebar-close");
            },
            title: "Search Employee",
            show: "scale",
            modal: true,
            width: '55%',
            height: 500
        });
    });
});
当你不销毁的时候,你会一次又一次地得到相同的对话框,以及对对象的任何闭包引用。这将导致奇怪的行为

要清除div中的所有元素,应在打开对话框之前执行以下操作:

$('#divName input').val('');
要从IFrame加载,请尝试以下操作:

var _dlg = null;   // <- declare this before the $(document).ready(...) code.

您好,我破坏了对话框,但它仍然显示旧值。旧值存在是因为组成对话框的DIV中包含的内部html尚未更改回您想要的内容。你必须这么做。。。你只发布了javascript,你应该发布包含DIV的HTML,这样我可以给你更好的指导。您想让我在对话框中发布所有html吗?是的,你当然需要。。但是在显示对话框之前,您必须清除/设置您想要的任何元素的值。呃,这是一个iframe,我明白了。。。tI也尝试创建不同的实例,但仍然显示旧值。
if ( _dlg != null ){
   $(_dlg).dialog('destroy');
}
_dlg = $("#divSearch").load('youriFrame.aspx').dialog({
            close: function() { $(this).dialog('destroy'); },
            open: function () {
                $(this).closest(".ui-dialog")
                .find(".ui-dialog-titlebar-close")
                .removeClass("ui-dialog-titlebar-close");
            },
            title: "Search Employee",
            show: "scale",
            modal: true,
            width: '55%',
            height: 500
        });