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