0

我在 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>

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

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

过程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');
}); 

问题一: post back后如何保持选中节点的状态。用于突出显示该特定节点。

有什么用途

persist: "cookie",
cookieId: "navigationtree"

为什么它无法维持状态?

问题解决了

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

非常有用的链接,详细的描述

网址: jQuery TreeView v1.4 文档

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

persist: "cookie",
cookieId: "navigationtree"
4

1 回答 1

1

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

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

于 2012-07-12T15:33:37.810 回答