从json回调渲染树视图

时间:2013-08-16 12:51:40

标签: javascript date treeview

JSON回调返回格式化日期并仅返回它。基于给定的日期,我必须建立一个树形结构,它将分开不同的年,月和日。在回调中获得的Oonly日期包含在树中。

我在ServiceSucceedCallBack上写了类似下面的内容:

                        var daty = '';
                        var roczniki = '';
                        var miesiace = '';
                        var dni = '';
                        for (var i in result.Content) {
                            roczniki += '<ol id="lata">' + result.Content[i].getFullYear() + '</ol>';
                            miesiace += '<ol id="miesiace"><li>' + (result.Content[i].getMonth() + 1) + '</li></ol>';
                            dni += '<ol id="dni"><li>' + result.Content[i].getDate() + '</li></ol>';
                        }
                        var $st = $('#toolLeft');
                        $st.append(roczniki);
                        $('#lata').append(miesiace);
                        $('#miesiace').append(dni);

它提供了一个树视图,但每个日期都写入第一个节点(第一个找到的年份),第二个问题是我不知道如何省略数据的重复。我的意思是,如果某一年在树中有一个位置,那么同一年的另一个日期应该转到相同的节点级别,不会创建新的.... - / p>

1 个答案:

答案 0 :(得分:0)

  

它提供了树视图,但每个日期都写入第一个节点

使用JSON.stringify构建DOM,如下所示:

Javascript: Using reviver function, I seem can't get to alter all the keys, while concating the numbers

  

如果某一年在树中有一个位置,那么同一年的另一个日期应该转到相同的节点级别,不会创建新的

使用循环将每个日期作为对象文字的键(例如foo)插入,然后使用JSON.parse删除重复的键。这是一个例子:

 var foo = {"2000-01-01":"good", "2001-09-11":"bad", "2000-11-02":"ugly", "2000-01-01":"jetson"}
 var bar = JSON.parse(JSON.stringify(foo) )
 var baz = JSON.stringify(bar)