как сохранить выделенный элемент в jquery ui аккордеоне при переходе на другую страницу - PullRequest
0 голосов
/ 08 ноября 2011

jquery ui accordion используется для навигации по странице 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> 
... 

1 Ответ

0 голосов
/ 14 декабря 2011

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

<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" value=@ViewBag.AccordionIndex />
<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;
}
...