как сохранить выделенный элемент аккордеона jquery ui при переходе на другую страницу

Аккордеон jquery ui используется для навигации по странице ASP .NET MVC2 site.master. Панели-гармошки содержат однострочные пункты меню.

Если щелкнуть какой-либо элемент списка, загружается новая страница, но аккордеон открывает первую панель. Как сохранить текущую панель открытой и выделенный элемент, если открыта новая страница?

$( "#accordion" ).accordion({ 
        fillSpace: true, 
        autoHeight: false, 
        navigation: true, 
    collapsible: true 
}); 



<h3> 
    <a href="#">menugroup1</a></h3> 
    <div> 
        <ul> 
            <li><a target='DoklstlG' href='xxxxxx'> 
                item1</a></li> 
            <li><a target='DoklstlO' href='yyyyy'>item2</a></li> 
            <li><a target='UnpaidG' href='zzzzzzz'>item3</a></li> 
            <li>&nbsp;</li> 
... 
        </ul> 
    </div> 

<h3> 
    <a href="#">menugroup2</a></h3> 
<ul> 
    <li><a target='DoklstlVL' href='nnnnnnnn'>menuitem21</a></li> 
    <li><a target='DoklstlSL' href='mmmmmmmmmm'>menuitem22</a></li> 
... 

person Andrus    schedule 07.11.2011    source источник


Ответы (1)


Надеюсь, это поможет!

<script>
    $(function () {
        var activeIndex = parseInt($('#AccordionIndex').val());

        $("#accordion").accordion({
            collapsible: true,
            active: activeIndex,
            event: "mousedown",
            change: function (event, ui) {
                var index = $(this).children('h3').index(ui.newHeader);
                $('#AccordionIndex').val(index);                   
            }
        });
    });


</script>
 @using (Html.BeginForm())
        {
            <input type=hidden id="AccordionIndex" name="AccordionIndex" [email protected] />
<input type="submit" value="Save Changes" />  }

При нажатии кнопки «Отправить» контроллер настраивается на получение [HTTP-POST], верните это значение в вашем примере ViewBag.AccordionIndex:

[HttpPost]    
public ActionResult MacSerialCheck(string index, string AccordionIndex) {
if (AccordionIndex == ""){
ViewBag.AccordionIndex="0";
}
else{
ViewBag.AccordionIndex=AccordionIndex;
}
person Har    schedule 14.12.2011