方案 我有一个由jquery UI对话框创建的Dialog。 只需单击一个表单即可打开,单击即可提交表单。 反馈显示在宣布成功的表格下方。在关闭对话框之前,我想删除成功消息,以便下次打开对话框/表单时不显示该消息。注意:可能会在不重新加载页面的情况下多次打开对话框/表单。 该过程可以解决成功消息。
我尝试过的解决方案 我在对话框脚本中添加了以下行。我相信语法是正确的,但添加此行会破坏脚本。
beforeClose: function (event ui) {
$("div#output1").empty();
},
完整对话框脚本
$(document).ready(function() {
$('#target a').each(function() {
var cancel = function() {
$dialog.dialog('close');
};
var $link = $(this);
var $dialog = $('<div></div>')
.load($link.attr('href'))
.dialog({
autoOpen: false,
title: $link.attr('title'),
width: 700,
height: 800,
modal: true,
buttons: { "Ok": cancel, "Cancel": cancel},
beforeClose: function (event ui) {
$("div#output1").empty();
},
open: function (event,ui) {
$("input[name='url']").val(pageAddress);
}
});
$link.click(function() {
$dialog.dialog('open');
$( "#accordion" ).accordion({
collapsible: true,
active: false
});
return false;
});
});
});
查看其他示例我似乎对语句的结构是正确的,但我很感激任何关于为什么这种方法会破坏我的脚本的指针。
感谢。
答案 0 :(得分:4)
你的语法无效。在event
ui
和beforeClose: function (event ui) {
之间添加逗号
beforeClose: function (event, ui) {
$("div#output1").empty();
},
答案 1 :(得分:2)
您可以使用$("div#output1").html("");
清空div。 - 这仍然会保留在DOM中......