从XML数据

时间:2017-11-08 17:34:28

标签: javascript jquery json xml jstree

我无法填充jsTree,因为我正在创建的数组出了问题。

jsTree允许您传入JSON数据,所以我正在尝试格式化jsTree会喜欢的对象数组:

    var myAry = [];

    $(xml).find('group').each(function() {

      myAry.push({
        "id": $(this).find('GroupID').text(),
        "parent": "#",
        "text": $(this).find('GroupName').text(),

      });
    });

当我将[myAry]转储到控制台时,它看起来像一个格式正确的数组,但jsTree不喜欢它。但是,如果我手动创建一个数组,jsTree喜欢它:

  var testAry = [
                    {"id": "42", "parent": "#", "text": "Foo"},
                    {"id": "69", "parent": "#", "text": "Bar"},
                    {"id": "1", "parent": "#", "text": "Dolphin"},

    ];

我的循环出了什么问题?

enter image description here

1 个答案:

答案 0 :(得分:-1)

这可能会有所帮助(来自jQuery docs):

  

$ .each()函数与$(selector).each()不同,后者用于独占于jQuery对象进行迭代。

您正在使用的方法接受一个选择器参数,但您传递的是JSON对象的名称。

尝试使用$.each()