如果导航到其他页面,如何保持jquery ui手风琴点击项目突出显示

时间:2011-11-07 21:47:28

标签: asp.net-mvc-2 accordion jquery-ui-accordion

jquery ui accordion用于ASP .NET MVC2 site.master页面中的导航。 Accordion面板包含单行菜单项。

如果单击某个列表项,则会加载新页面但手风琴会打开第一个面板。 如果打开新页面,如何保持当前面板打开并突出显示单击的项目?

$( "#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 :(得分:0)

我希望这有帮助!

<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;
}