关闭jquery UI对话框时,将删除jQuery UI Tab cookie

时间:2012-01-24 15:55:05

标签: jquery jquery-ui

我使用jQuery UI选项卡并使用其cookie功能来存储上次打开的选项卡。另外,我使用模态对话框,它还显示带有jUI选项卡的内容。

我为每个对话框使用唯一的cookie名称,因此不会有任何混淆。所以基本上,使用正确的标签信息存储cookie效果很好。

我现在面临的问题是,当对话框关闭时,对话框选项卡创建的选项卡cookie将被删除!但是,当我重新打开相应的对话框时,存储cookie的目的是恢复正确的选项卡。

我在对话框的结束事件中没有使用cookie删除代码,所以看起来,对话框会删除它自己的代码。有没有办法防止这种情况?

编辑01/25/2012:

此代码仅在每个加载的页面上(这也意味着对话框弹出窗口中的内容):

function setTabs(object, node, classname) {
$('#tabs').tabs(
        {
            cache: false,
            fx: {opacity: 'toggle'},
            cookie: {name: classname + node + 'Tab', expires: 1, path: "/mySubDir/" } // where values for classname and node are generated at runtime; this works well
        });
}

对话框代码很简单,没什么特别的:

$("#dialogDiv).dialog({
        autoOpen: true,
        height: "auto", //600,
        width: "80%", // 700px,
        position: [200, 100],
        zIndex: index,
        modal: true,
        buttons: [
                    {
                        text: buttonTexts['ok'],
                        click: function () {
                            alert("Project specific stuff");
                        }
                    },
                    {
                        text: buttonTexts['cancel'],
                        click: function () {
                            $(this).dialog("close");
                        }
                    }
        ],
        open: function (event, ui) {

            // project specific stuff

            $(this).parent().find('.ui-dialog-buttonpane button:contains(' + buttonTexts['cancel'] + ')').button({
                icons: {primary: 'ui-icon-closethick'}
            });

            $(this).parent().find('.ui-dialog-buttonpane button:contains(' + buttonTexts['ok'] + ')').button({
                icons: {primary: 'ui-icon-check'}
            });
        },
        close: function () {
            // project specific stuff

        }
    });

项目特定的东西没有使用任何cookie代码......

希望这会有所帮助。

0 个答案:

没有答案