這是我的手風琴的生成代碼: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
嗨,麥金維爾,對不起我的錯字 - 這是樹 - 手風琴(注意最後的「開」不是「一」,如我以前的評論。 –