Jquery 如何在关闭对话框时清空Div
场景 我有一个由jQueryUIDialog创建的对话框。 它通过表单单击打开,表单通过单击提交。 反馈出现在宣布成功的表格下方。在关闭对话框之前,我想删除成功消息,这样下次打开对话框/窗体时它就不会出现。注意:对话框/表单可能会在不重新加载页面的情况下打开数次。 该过程一直工作到删除成功消息为止 我尝试的解决方案 我在对话框脚本中添加了以下行。我相信语法是正确的,但添加这一行会破坏脚本Jquery 如何在关闭对话框时清空Div,jquery,dialog,Jquery,Dialog,场景 我有一个由jQueryUIDialog创建的对话框。 它通过表单单击打开,表单通过单击提交。 反馈出现在宣布成功的表格下方。在关闭对话框之前,我想删除成功消息,这样下次打开对话框/窗体时它就不会出现。注意:对话框/表单可能会在不重新加载页面的情况下打开数次。 该过程一直工作到删除成功消息为止 我尝试的解决方案 我在对话框脚本中添加了以下行。我相信语法是正确的,但添加这一行会破坏脚本 beforeClose: function (event ui) { $("div#output1"
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;
});
});
});
$(文档).ready(函数(){
$('#目标a')。每个(函数(){
var cancel=函数(){
$dialog.dialog('close');
};
var$link=$(此);
变量$dialog=$('')
.load($link.attr('href'))
.对话({
自动打开:错误,
标题:$link.attr('title'),
宽度:700,
身高:800,
莫代尔:是的,
按钮:{“确定”:取消,“取消”:取消},
beforeClose:函数(事件ui){
$(“div#output1”).empty();
},
打开:功能(事件、用户界面){
$(“输入[name='url']”)val(页面地址);
}
});
$link.click(函数(){
$dialog.dialog('open');
$(“手风琴”)。手风琴({
可折叠的:是的,
活动:错误
});
返回false;
});
});
});
看看其他的例子,我的语句结构似乎是正确的,但我希望有人能指点一下为什么这种方法会破坏我的脚本
谢谢。您可以使用
$(“div#output1”).html(“”)
清空div.-这仍然会将其保留在DOM中…您可以使用$(“div#output1”).html(“”)代码>清空div。-这仍然会将其保留在DOM中…您在那里得到了无效的语法。在beforeClose:function(event ui){
工作正常:您在那里得到了无效语法。在关闭前:函数(事件ui){
工作正常:Hmmmm,砰砰的一声敲打额头,我想知道为什么我看不到我面前的东西。谢谢!Hmmmm,砰砰的一声敲打额头,我想知道为什么我看不到我面前的东西。谢谢!谢谢!我没有考虑过这种方法。这很有效,因为将它保留在DOM中是可以的,我只需要删除内容。谢谢我没有考虑过这种方法。这是有效的,因为将它保留在DOM中是可以的,我只需要删除内容。
beforeClose: function (event, ui) {
$("div#output1").empty();
},