如何在Post Post后维护状态以突出显示JQuery Treeview的选定节点?

时间:2012-07-12 15:22:08

标签: javascript jquery treeview

我在sample.html文件中有这样的HTML代码:

<ul id='topics' class='filetree'>
<li><span class='folder'><a href='?Lang=en&TopicID=#'>Topics</a></span>
<ul>
<li><span class='folder'><a href='?Lang=en&TopicID=1'>Topic 1</a></span>
<ul>
<li><span class='file'><a href='?Lang=en&TopicID=1.1'>Topic 1.1</a></span></li>
<li><span class='file'><a href='?Lang=en&TopicID=1.2'>Topic 1.2</a></span></li>
<li><span class='file'><a href='?Lang=en&TopicID=1.3'>Topic 1.3</a></span></li>
</ul>
</li>

使用 JQuery.load 我加载html文件以生成Treeview

<div id="LtrLeftContent">
  <script language="javascript" type="text/javascript">  
    $('#LtrLeftContent').load('sample.html', function () {  
    $("#topics").treeview();  
    $("li span").click(function () {  
    alert($(this).text());    // Get the current node text
    });  
});                 
  </script>  
</div>  

现在问题描述如下

点击任何节点后,如下节点

<li><span class='folder'><a href='?Lang=en&TopicID=1'>Topic 1</a></span></li>

回发后&amp;树视图无法维护所选节点的状态。

我尝试下面的代码,但没有成功

流程1:

$("li span").bind('click', function() {
  //clear all clicked items if any
  $('.selected').removeClass('select');
  //set this clicked
  $(this).addClass('select');
});             

* 流程2:*

$("li span").click(function() {
  //clear all clicked items if any
  $('.selected').removeClass('selected');
  //set this clicked
  $(this).addClass('selected');
}); 

问题1:如何在回发后维护所选节点的状态。突出显示该特定节点。

的用途是什么?
persist: "cookie",
cookieId: "navigationtree"

为什么它无法维持状态?

解决了问题

$("#topics").treeview({
    persist: "location"
});

非常有用的链接,精心描述

网址: jQuery TreeView v1.4 doc

注意:但不知道为什么使用波纹管代码却无法正常工作

persist: "cookie",
cookieId: "navigationtree"

1 个答案:

答案 0 :(得分:1)

回发后,一切都消失了。您需要将所选节点的ID存储在cookie中。

但是,您的节点没有ID,因此您可以将文本或href存储在cookie中,然后在页面加载时查找cookie,如果找到,则使用jQuery查找节点并选择它。

相关问题