【问题标题】:JQuery UI Checkbox Values in Dialog对话框中的 JQuery UI 复选框值
【发布时间】:2014-09-17 23:29:00
【问题描述】:

我正在尝试使用 JQuery UI 及其对话框构建首选项对话框。我有几个用户可以设置的复选框。当对话框打开时,我根据内部首选项列表设置这些复选框。

这在我第一次显示对话框时效果很好,但在随后打开对话框时,它会保留其最后的设置,即使 Preferences 没有更改。也就是说,保留了视觉外观,而 Preferences 值没有改变。

如果我恢复使用普通的旧 HTML 复选框,它们可以正常工作。只有 JQuery UI 复选框顽固地保持在最后一个状态。

这似乎是一个有害的问题,但没有任何明确的答案或示例来说明如何解决它。一种方法 - 手动销毁,然后在每次调用时重新编写整个对话框 - 似乎完全令人沮丧,我希望有更好的方法来处理这个问题,同时仍然能够使用 JQuery UI 小部件。

【问题讨论】:

  • 你如何在 init 上设置这些复选框?
  • 我假设您不是从 DOM 中删除对话框,而是在下次打开它时隐藏和显示。确保在关闭时删除所有内容。检查api.jquery.com/category/manipulation/dom-removal
  • 当使用模态对话框时,我通常会在对话框打开之前使用 JQuery 的reset() 重置我的所有输入,你能做到吗?
  • Scottie:我正在使用 $("#myCheckbox").prop("checked", true|false);
  • suish:不确定我是否在关注你。我的表单元素是在我的 HTML 中定义的。如果我从 DOM 和所有这些元素中删除对话框,你是说我必须在每次打开时动态重新创建它?

标签: jquery jquery-ui jquery-ui-dialog


【解决方案1】:

当我检测到更新或重新加载时,通过在每个复选框元素上显式调用 button("refresh") 来解决此问题。这显然需要将 JQUI 外观与底层表单元素的状态同步。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多