我(第一次)使用fancytree。似乎很适合我的问题,但是我遇到了一个问题。

我正在使用表扩展名,以允许用户向树的节点添加其他信息。最后,我想将整个树转换为一些JSON并将其make发送到服务器。

到目前为止,我的代码如下所示:

function readTree(tree) {
    var d = tree.toDict(true, function(node){
        console.log('looking at ' + node.title);
        var tdList = $('tr.fancytree-active>td');
        /* read the attributes */
        node.attr = {
            ctime : tdList.eq(2).find("input").val(),
            filesize : tdList.eq(3).find("input").val(),
            user : tdList.eq(4).find("input").val(),
            group : tdList.eq(5).find("input").val(),
            permissions : tdList.eq(6).find("input").val()
        };
    });
    console.log(d);
}


问题在于,在遍历树期间,“ fancytree-active”未添加到当前遍历的节点。

所以我的问题可以表述为:
如何在toDict()回调的上下文中访问给定节点的html对象?

如果无法做到这一点,除了读取整个tr并手动进行提取之外,还有其他读取树的方法吗?

最佳答案

在遍历期间,您可以通过<tr>访问节点的node.tr,因此您的代码可能会这样工作(未经测试):

var tdList = $(">td", node.tr);

关于javascript - Fancytree:如何从ext-table获取内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31440102/

10-12 06:50