【问题标题】:JQuery UI Dialog dont update on second clickJQuery UI 对话框在第二次单击时不更新
【发布时间】:2015-03-14 09:19:03
【问题描述】:

我的 JQuery UI 模态窗口有这个问题。它在我单击一个按钮时使用,然后它打开并通过对 php 文件的 Ajax 调用将内容附加到它。我第一次打开它时效果很好,但是当我点击另一个应该显示不同内容的按钮时,它仍然显示其中的旧内容,我必须刷新页面才能工作。

这是由开关触发的对话框打开事件,也是在创建时将数据附加到我的选择框的最后一部分。

$( "#attack" ).dialog({
    resizable: false,
    width:"400px",
    buttons: {

        Attack: function() {
            $(this).dialog("close");

        },

        Cancel: function() {
            $(this).dialog("close");
        }
    }
});



$("#users").selectmenu({
    create: function( event, ui ) {

        $.ajax({
            type: "POST",
            url: "mapfunctions/FetchUsers.php",
            data: {RegionID: RegionID},
            success: function(data) {
                $("#users").append(data);
            }
        });

    }
});

对话框如下所示:http://i.imgur.com/02a2GYB.png 它的 HTML 有点长,所以我希望你不需要那个对话框代码,如果需要,请告诉我,我会添加。

它的选择菜单保留了第一次 ajax 调用中的旧数据。

我尝试在关闭时使用 Destroy 等,但随后对话框将永远不会再次打开,呵呵。

非常感谢大家,希望这足以让我们清楚了解

【问题讨论】:

  • 可以为此制作一个jsfiddle。在攻击中你为什么要关闭模型。
  • 这两个按钮中会有一些额外的代码,但这与我认为的问题无关?

标签: javascript jquery html ajax jquery-ui


【解决方案1】:

这是 ajax 和模态窗口非常常见的问题。单击下一步按钮时,您必须重置表单并重新加载它。

例如:

如果您使用 id 为“myForm”的表单,则单击另一个按钮会重置表单,如 jQuery 中的$("#myForm").trigger('reset');。或任何其他方式

【讨论】:

  • 我尝试将它添加到我的取消按钮:i.imgur.com/cNem0xK.png它没有做任何事情你:(
  • 我需要看你的小代码才能了解发生了什么!
  • 本节中有很多代码,但我尝试清理它,所以它只显示相关部分:i.imgur.com/wV7BnpJ.png 它是选择菜单,不是更新内容,#用户是我的#Attack 对话框中选择菜单的 ID。希望有意义
猜你喜欢
  • 2022-11-11
  • 1970-01-01
  • 1970-01-01
  • 2017-01-26
  • 2019-01-27
  • 1970-01-01
  • 1970-01-01
  • 2019-11-05
  • 2013-01-06
相关资源
最近更新 更多