0

JSON コールバックは、書式設定された日付とそれのみを返します。特定の日付に基づいて、異なる年、月、日を区切るツリー構造を構築する必要があります。コールバックで取得された日付のみがツリーに含まれます。

私は 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);

ツリー ビューが表示されますが、すべての日付が最初のノード (最初に見つかった年) に書き込まれ、2 つ目の問題は、データの重複を省略する方法がわからないことです。つまり、ある年がツリーにある場合、同じ年の別の日付が同じノードレベルに移動する必要があり、新しいものを作成しない....

4

1 に答える 1

0

ツリービューを提供しましたが、すべての日付が最初のノードに書き込まれます

JSON.stringifyこの質問のように、DOM を構築するために使用します。

Javascript: リバイバー機能を使用すると、数字を連結しているときにすべてのキーを変更できないようです

ある年がツリー内にある場合、同じ年の別の日付は同じノード レベルに移動する必要があります。新しいものを作成しないでください。

ループを使用して各日付をオブジェクト リテラル (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)
于 2014-02-13T22:05:37.143 に答える