处理jQuery treetable中的回调

时间:2013-12-16 16:54:02

标签: jquery callback tree

我是Javascript和jQuery世界的新手。我正在尝试使用下面链接中的jQueryTree表显示树表。

http://ludo.cubicphuse.nl/jquery-treetable/

它提供了一些回调函数

  • onInitialized初始化树时触发了回调函数。
  • onNodeCollapse折叠分支时触发回调函数。
  • onNodeExpand扩展分支时触发回调函数。
  • onNodeInitialized在初始化节点时触发了回调函数。

我理解回调功能是什么。我无法在Javascript中尝试编码。

可以帮助我理解如何处理这些回调函数。我试图获取所选节点的ID。

任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:3)

我正在使用以下代码段(将行的崩溃状态保存到数据库):

    holder.treetable({
        onNodeCollapse: function(){
            var node = this;
            var rowobject = node.row;
            // do some stuff with the row or ...
        },
    })

答案 1 :(得分:1)

初始化树插件:

$("#example-advanced").treetable({ expandable: true });

在tr上添加鼠标按下事件以获取节点的id,id存储在data-tt-id数据属性中。

 $("#example-advanced tbody").on("mousedown", "tr", function() {
      alert(this.getAttribute('data-tt-id')); 
 });

答案 2 :(得分:0)

要获取所选节点,您不需要回调函数。只需使用“selected”类获取元素(当你选择一些东西时,就是插件添加的类 - 至少这是我在插件的10秒研究中注意到的)。

试试这个:$(".selected").attr("id");

或者你需要在select上发布一个事件吗?这是一个不同的业务。

答案 3 :(得分:0)

看起来有几个箍要跳过

尝试

$("#jTable").treetable({ expandable: true, onNodeExpand: nodeExpand});

$("#jTable tbody").on("mousedown", "tr", function() {

$(".selected").not(this).removeClass("selected");
$(this).toggleClass("selected");    

if(!$(this).is(".expanded")) {
       $("#jTable").treetable("expandNode", $(this).data("ttId"));
    }
});     

然后编写treetable属性

中引用的nodeExapnd函数
function nodeExpand () {
    alert ("expanded");
    alert ( $(".selected").data("ttId"));
}