JQuery Гармошка открыть раздел - PullRequest
0 голосов
/ 02 февраля 2011

Я пытаюсь реализовать сохраняющее состояние аккордеонное меню ...

Пока у меня есть это:

$(document).ready(function () {
    $("#accordionMenu").accordion({
        alwaysOpen: false,
        animated: true,
        autoHeight: false,
        collapsible: true,
        icons: false,
        navigation: true
    });
        var toOpen = <%= MySessionInfo.Current.MyMenu %>;
        if(toOpen != -1){
            alert("it should open: " +toOpen);
            $("#accordionMenu").accordion("active", toOpen);
            alert("active is : " + $("#accordionMenu").accordion("option", "active"));
        }

        $("#accordionMenu").click(function (){
            var activate = $("#accordionMenu").accordion("option", "active");
            if (activate != false) {
                $.getJSON("/Account/SetMenu", { CurrentMenu: activate }, function (j) {});
            }
        });
    });

Он устанавливает правильный индекс и показывает правильное сообщение«он должен открыть X», где X - ожидаемое значение.Однако этот раздел не остается открытым, и после установки значения «active» значение «active is: Y» постоянно показывает «false».

что происходит?

Ответы [ 2 ]

2 голосов
/ 02 февраля 2011

У тебя опечатка.Это должно быть

$('...').accordion('activate', index);

Найдено в http://jqueryui.com/demos/accordion/#method-activate

1 голос
/ 02 февраля 2011

Вы должны сделать:

$("#accordionMenu").accordion({active:toOpen});

или

$("#accordionMenu").accordion("activate", toOpen);
...