jquery Treeview突出显示所选项目

时间:2010-12-31 12:51:07

标签: javascript jquery treeview

我读了文档

  

http://docs.jquery.com/Plugins/Treeview/treeview#options

也谷歌搜索,但没有找到简单和好的解决方案,如何突出显示所选项目。我使用span而不是重定向但没有选择

4 个答案:

答案 0 :(得分:2)

此代码适用于在树视图中突出显示文件:

$(document).ready(function(){
        $("#index").treeview();
          $('#index span.file').bind('click', function() {
              //clear all clicked items if any
              $('.selected').removeClass('selected');
              //set this clicked
              $(this).addClass('selected');
            });
      });

jquery.treeview.css

.treeview span.file.selected { background-color: #F0FFF0; }

答案 1 :(得分:1)

在树状视图中,为添加的分支添加id标记。

"<li><span id="myNode1" class='file'>Item2</span></li>"

然后,您可以使用jQuery突出显示突出显示所选节点。

$("#myNode1").click(function () {
      $(this).effect("highlight", {}, 3000);
});

或永久更改样式

$('#myNode1').css('styleFloat');

答案 2 :(得分:1)

您可以在树中选择li项并向其添加事件侦听器,如下所示:

$('#browser li.file').bind('click', function() {
  //clear all clicked items if any
  $('.clicked').removeClass('clicked');
  //set this clicked
  $(this).addClass('clicked');
})

内部处理程序函数'this'字指向单击的项目。 或者,如果通过“选择”表示其他内容,您也可以像示例一样收听所需的事件类型。

$('#browser li.file').bind('mouseover', function() {
 ... your code ...
})

答案 3 :(得分:0)

它可能已经过时但我通过在jqueryFileTree.js的FileTree函数(版本2.14)下添加以下内容来克服它

function FileTree(el, args, callback) {
  ...
  $el.delegate("li a", this.options.folderEvent, _this.onEvent);
  $el.delegate("li a", "click", function(event){
    $("#" + $el[0].id + " li a.selected").removeClass("selected");
    $(this).addClass("selected");
  });
}