【发布时间】:2012-07-21 01:47:57
【问题描述】:
我有一个获取一行文本的 jQuery UI 对话框。如果此文本不包含在 localStorage 字典中,我将其插入到字典中。如果它存在,我想为用户提供不覆盖“ok”处理程序中现有条目的选项。
因为 jQuery UI 对话框是有状态的,并且在多个调用中持续存在,除非明确删除 (AFAICT),所以我没有看到一条清晰的路径来呈现“你确定要核对你以前的条目吗?”警觉而不诉诸于……呃……警觉。
问题简明扼要:你能在 jQuery UI 对话框中创建一个确认框吗?
谢谢。
【问题讨论】:
-
简单地销毁对话框并重新创建它相对容易。
$('selector').dialog('destroy').dialog()会做到的。话虽如此,我什至不确定为什么对话框是有状态的是一个问题。您始终可以配置有关它的内容,例如为单个呼叫显示的标题和文本。 -
有状态的本质是客户端 Web 应用程序中的一个问题,它可能想要呈现多个对话框——在我的例子中,一个对话框是一个已经打开的对话框的子级。为什么它是一个问题是 jQUI “记住”并重用了很多(状态),在某些情况下创建了被破坏的值和/或文本。我不能只销毁对话框 #1,因为对话框 #1 的 yes 处理程序的行为取决于对话框 #2 的是/否答案。
标签: javascript jquery jquery-ui