这是我的手风琴的生成代码:jQuery的cookie的使用以前的值
<div id="treeview-accordion">
<h3><a href="#" accindex="0">Basic</a></h3>
<div>
<ul class="navigation-treeview treeview-sanjo" id="yw0">
<li><span style="font-weight:bold"><a href="/sanjo/site/index"> Home</a></span>
<ul>
<li><span> Profile</span>
<ul>
<li><span><a href="/sanjo/user/profile"> View Profile</a></span></li>
<li><span><a href="/sanjo/user/profile/edit"> Update Profile</a></span></li>
<li><span><a href="/sanjo/user/profile/changepassword"> Change Password</a></span></li>
</ul>
</li>
</ul>
</li>
<li><span> Personnel Management</span>
<ul>
<li><span><a href="/sanjo/user/admin"> Manage Personnel</a></span>
<ul>
<li><span><a href="/sanjo/user"> List Personnel</a></span></li>
<li><span> Add Personnel</a></span></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<h3><a href="#" accindex="1">Basic2</a></h3>
<div>
<ul class="navigation-treeview treeview-sanjo" id="yw01">
<li><span style="font-weight:bold"><a href="/sanjo/site/index2"> Home2</a></span>
<ul>
<li><span> Profile</span>
<ul>
<li><span><a href="/sanjo/user/profile2"> View Profile2</a></span></li>
<li><span><a href="/sanjo/user/profile/edit2"> Update Profile2</a></span></li>
<li><span><a href="/sanjo/user/profile/changepassword2"> Change Password2</a></span></li>
</ul>
</li>
</ul>
</li>
<li><span> Personnel Management2</span>
<ul>
<li><span><a href="/sanjo/user/admin2"> Manage Personnel2</a></span>
<ul>
<li><span><a href="/sanjo/user2"> List Personnel2</a></span></li>
<li><span> Add Personnel2</a></span></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
每次我点击一个链接,我在此基础上<h3>
链接保存在cookie“sanjotreeaccordion”的值正在:
$("#tree-accordion a").bind("click",function(){
var cookie=$(this).closest("div").prev("h3").find("a").attr("accindex");
$.cookie("sanjotreeaccordion", cookie);
alert($.cookie("sanjotreeaccordion"));
});
然后在页面重载,我得到的饼干“sanjotreeaccordion”的价值,所以我可以用它来确定要打开的可折叠窗格:
$(document).ready(function(){
alert($.cookie('sanjotreeaccordion'));
var ind = ($.cookie('sanjotreeaccordion') || 0)*1;
$('#tree-accordion').wijaccordion({'autoHeight':false,'requireOpenedPane':false,'selectedIndex':ind});
$.cookie('sanjotreeaccordion',ind);
});
您可能已经注意到我在那里发出警报,我用它来确定cookie的价值。 WijAccordion是创建手风琴的功能,将根据其selectedIndex
选项(0
表示第一个窗格,1
表示第二个,依此类推)的值打开窗格。
现在是奇怪的部分(我正在做下一部分,因为我键入)。最初,当我运行我的代码时,cookie尚不存在,因此它将打开第一个窗格(cookie为空,因此它返回0
然后再乘以1
)。然后该值将被保存到cookie中。 (我检查了这个cookie,它是0
)。
然后我点击了第二个窗格上的链接,所以我期望它在cookie中保存1
(警报表示cookie的值为1
)。但是当页面重新加载时,cookie值的警报仍然是0
。当我再次点击任何链接时,cookie值将更改为1
。换句话说,当页面重新加载时,我得到了以前的cookie值。
我的代码问题在哪里?还是我的逻辑错误?我不能下,我想跟着序列,这是
- 点击一个链接它的上
<h3>
- 值保存到cookie
- 页面重载 的
- GET“accindex”
- 获取cookie的值
- 使用cookie值打开合适的手风琴窗格?
嗨波洛,感谢您的答复。我试着找到“tree-accordian”,并且在我粘贴的代码中没有找到它。可能你在阅读时很着急:p 这里的代码被复制粘贴,并且与我的警报点击,所以我想这是证明ID已被正确调用。 – Macinville
嗨,麦金维尔,对不起我的错字 - 这是树 - 手风琴(注意最后的“开”不是“一”,如我以前的评论。 –