jquery - 花式树 - 没有数据存在

时间:2014-03-07 17:21:19

标签: javascript jquery html fancytree

我正在使用jquery花式树来表示我的网络应用中的树。

https://github.com/mar10/fancytree

这是我的代码如下。问题是,当源URL / documents /文件夹返回一个空列表时,我希望我的html显示“找不到文档”文本。我搜索了API,但没有办法直接使用插件。

我是webapps世界的新手。有人可以指出我正确的方向吗?

<div class="row" id="toprow">
    <div class="col-md-4" id="treeContainer">
        <h4>Choose a Document Type from the drop-down</h4>
        <div id="tree">

        </div>
    </div>
</div>

<script>
    $(function(){
        $("#tree").fancytree({
            source: {
                url: "/documents/folders"
            },

        });
    });
</script>

2 个答案:

答案 0 :(得分:2)

所以,你必须在花式树之外照顾这个。基本上我们想要做的就是自己拉下JSON,然后检查它的状态并根据它来渲染UI,而不是直接把它放在奇特的树中

$(function () {
    $.get('/documents/folders', function (result) {
        if(result.length > 0) {
            $("#tree").fancytree({
                source: result
            });
        } else {
            $('#tree').html('No documents found!');
        }
    }).fail(function() {
        $('#tree').html('No documents found!');
    });
});

答案 1 :(得分:1)

我有类似的要求,并使用FancyTree API的init函数解决了它。

在HTML中我有一条隐藏的消息(主要用于多语言支持),在fancytree调用中,我指定了init选项来处理空​​案例:

init: function(event, data) {
    console.debug("initialised tree");
    if (data.tree.count() == 0){
        $('#attributeTree').find('#attributeTreeEmptyMessage').removeClass('display-hide');
        $('#attributeTree').find('.fancytree-container').addClass('display-hide');
    }else{
        $('#attributeTree').find('#attributeTreeEmptyMessage').addClass('display-hide');
        $('#attributeTree').find('.fancytree-container').removeClass('display-hide');

    }

}