【发布时间】:2015-04-10 22:40:14
【问题描述】:
我目前正在做一个新项目,但我有一个小问题,我正在使用
$(".ui-dialog-content").dialog().dialog("close");
要从其中关闭 JqueryUI 对话框,也就是用户单击确定,对话框应该关闭。
但是上面似乎关闭了所有打开的对话框,这是一个大问题,你们知道有什么可以从其中关闭一个对话框,并且只关闭那个对话框。
最后一件事要注意,所有对话框 ID 都是基于打开时间的,因此试图从那里关闭它们几乎是不可能的 :(.
感谢您的帮助,期待您的回复。
【问题讨论】:
-
请显示更多代码。很可能存在一个引用当前对话框的变量,可能是
$(this),您可以使用它来代替$(".ui-dialog-content")。但是我们需要查看上下文才能知道它应该是什么。 -
另外,
.dialog("close")之前不需要.dialog() -
不幸的是 $(this).dialog("close");不会关闭任何对话框,而且我在 $.post 之后自行运行,所以在 ajax 请求之后,单个对话框将关闭。
-
我让你发布你的代码。如果在 AJAX 回调函数中运行,则需要将变量绑定到对话框,因为
this没有保存在闭包中。 -
已修复,感谢您的惊人帮助,更改为 $("#submitForm").closest(".ui-dialog-content").dialog("close");我不知道为什么这行得通,其他的却没有,但解决了这个问题,感谢您的惊人帮助
标签: jquery jquery-ui dialog jquery-ui-dialog