当我在菜单中使用jQuery accordion时,如何在页面刷新时保持用户单击面板打开?当用户单击面板、发送请求和刷新页面时,accordion始终关闭。
这是我的代码:
$(function(){
var icons = {
header: "ui-icon-triangle-1-e",
activeHeader: "ui-icon-triangle-1-s"
}
$("#accordion").accordion({
heightStyle:"content",
header:".level21",
event:"click",
active:false,
collapsible:true,
icons:icons
});
});发布于 2013-04-16 18:23:44
在回发期间,您应该使用Hidden Fields来维护折叠面板状态。
我不知道您使用的是哪种技术,但对于ASP.net
<asp:HiddenField ID="hidAccordionIndex" runat="server" Value="0" />
<script language="javascript" type="text/javascript">
$(function(){
var activeIndex = parseInt($('#<%=hidAccordionIndex.ClientID %>').val());
$("#accordion").accordion({
autoHeight:false,
event:"mousedown",
active:activeIndex,
change:function(event, ui)
{
var index = $(this).children('h3').index(ui.newHeader);
$('#<%=hidAccordionIndex.ClientID %>').val(index);
}
});
});
</script>您可以使用JQuery cookies插件here,然后设置它的值,如下所示
change: function(event,ui) {
var hid = ui.newHeader.children('a').attr('id');
if (hid === undefined) {
$.cookie('menustate', null);
} else {
$.cookie('menustate', hid, { expires: 2 });
}
}有用的文章here
https://stackoverflow.com/questions/16034088
复制相似问题