0

我有一个 asp.net 页面,其中包含一个带有自动完成扩展器的文本框。它的设置使用户可以在文本框中键入一个简短的参考代码,然后从自动完成返回的匹配代码列表中进行选择。

在“选择”上,然后我使用 JQuery 调用服务器。我目前在这里使用 $.get.... 来自 $.get 的回调函数检查“成功”,然后显示一个简单模式对话框,其中包含有关他们刚刚选择的项目的信息。

if (sStatus == "success") {
        $.modal(sText, {
        overlayClose: true,
            appendTo:'form',
            onShow: function(dialog) {
                $("#ccTargets_tabContainer").tabs();
            },
            onClose: function(dialog) {
                $("#<%=TextBox1.ClientID%>").val("");
                $.modal.close();
            }
        });
        $.ready();
    }

这里加载的信息位之一是 JQuery TABS 设置,因此 simplemodal 的 onShow 函数用于启动 simplemodal 中的选项卡。

现在到我问题的症结所在。如果我在同一页面上执行多个连续的“自动完成”,一切正常,除非我在 simplemodal 的选项卡上选择了不同的选项卡......如果我选择了不同的选项卡,请关闭 simplemodal,然后执行另一个自动完成我得到一个 JQuery 错误,它似乎与选择器对“关闭”模式上的“旧”选定选项卡执行某些操作有关。

我显然在某处缺少某种清除/初始化,但找不到它是什么。帮助?

我在上面代码中的模态调用之前尝试过“tabs.destroy”,并且我也尝试过 $.ready() 调用,如所示......

更新:这与 JQuery 选项卡在我的地址栏 URL 中附加所选选项卡的 ID 有关吗?

4

1 回答 1

0

我发现了问题。它与标签插件通常使用的“历史”脚本一起使用。显然,当我不断地创建和销毁弹出窗口时,没有历史可言——这一切都是在正常的应用程序导航之外完成的。

我已经删除了 jquery.history_remote 脚本,现在它工作得很好!

戴夫

于 2009-11-17T08:56:42.163 回答