JQuery UI选项卡:具有多个选项卡的Cookie持久性

时间:2010-11-22 17:59:54

标签: jquery-ui jquery-ui-tabs

嘿,我有代码连接Jquery UI标签的Ready函数中的选项卡简单到

// wireup tabs
$(".tabs").tabs({
    cookie: {
        expires: 30
    }
});

这很好用,除了选项卡索引保持在所有选项卡位置之外(因为我使用.tabs选择器一次连接所有选项卡)。有没有办法将cookie名称自动连接到与选择器匹配的不同foreach找到的项目?

2 个答案:

答案 0 :(得分:5)

$(this)是指在上述情况下运行此文档时的文档。但是,在每个函数中运行连接,允许直接访问项目,然后我们可以访问属性(例如HTML中用于连接cookie的特殊属性)。我使用了tab id,如果该属性不存在,则默认为自命名。

// wireup tabs
$(".tabs").each(function() {
    var tabid = $(this).attr("tabid");
    if (tabid == undefined || tabid == null || tabid == "") {
        $(this).tabs({
            cookie: {
                expires: 30
            }
        });
    }
    else {
        $(this).tabs({
            cookie: {
                expires: 30,
                name: tabid
            }
        });
    }
});

答案 1 :(得分:3)

尝试为每个集添加名称:

$(".tabset1").tabs({
    cookie: {
        expires: 30,
        name: "tabset1"
    }
});

$(".tabset2").tabs({
    cookie: {
        expires: 30,
        name: "tabset2"
    }
});