【发布时间】:2015-03-31 04:48:12
【问题描述】:
我有允许用户打开多个对话框的软件。无需对我在做什么进行很长的解释,是否可以从对话框中提取对话框的 ID?因此,例如,我可能有一个名为“dialog1”的对话框,然后是另一个名为“dialog5”的对话框,如果我单击这些对话框中任何一个的 HTML 中的链接(而不是单击对话框按钮),我需要知道是否它的“dialog1”或“dialog5”。
就目前而言,我看到了两个选项: 1#使用包含对话框ID的GET变量打开对话框,然后让PHP在我需要的地方回显其ID(并以任何ajax形式重新发送该信息,然后让该页面返回数据如果对话框正在刷新,等等等等)....
2# 让每个页面都有一个具有特定 id 的 HTML dom 元素,然后让 JavaScript 在加载时找到该元素,将其替换为随机生成的元素(这样不会与新对话框冲突),然后使用随机生成的元素遍历DOM动态拉取ID...
我尝试了这两种方法,似乎方法 2 更好,因为它需要更少的维护,但它是一个丑陋的解决方案(如果 DOM 发生变化,它会中断)。有没有更好的方法来完成这项工作?
【问题讨论】:
-
当您将链接放在这些对话框中时,请使用链接
data-dialog-id="#Dialog1"的html attr 并单击获取此ID。 -
对话框称为'dialog1'和'dialog5'的方式是什么?请发布您的代码或其简化版本。
-
坦率地说:如果我明白你在说什么,那似乎或多或少是我使用方法 1 所做的。 ------------- Roamer-1888:现在它的“dialog1”到“dialog10”,我的代码只是寻找第一个未打开的,并使用它。但总有一天我会让这个动态化(这样用户就可以打开任意数量的文件)。
标签: jquery jquery-ui jquery-ui-dialog