Вкладки пользовательского интерфейса JQuery: сохранение файлов cookie с несколькими вкладками - PullRequest
0 голосов
/ 22 ноября 2010

Эй, у меня есть код, который связывает вкладки в функции Ready для вкладок пользовательского интерфейса Jquery упрощенно до

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

Это прекрасно работает, за исключением того, что индекс вкладок сохраняется во всех местоположениях вкладок (так как я использую селектор .tabs, чтобы связать все мои вкладки одновременно). Есть ли способ автоматически связать имя файла cookie с тем, чтобы каждый найденный элемент соответствовал селектору?

Ответы [ 2 ]

5 голосов
/ 22 ноября 2010

$ (this) относится к документу при выполнении этого в вышеуказанной ситуации.Однако запуск связывания в каждой функции позволяет напрямую получить доступ к элементу, а затем мы можем получить доступ к атрибутам (например, к специальному атрибуту в HTML, к которому подключаются куки).Я использовал идентификатор табуляции, а затем по умолчанию присвоил себе имя, если атрибут не существует.

// 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
            }
        });
    }
});
3 голосов
/ 22 ноября 2010

Попробуйте добавить имя для каждого набора:

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

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