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> </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>
...
答案 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;
}