【发布时间】:2017-11-08 17:34:27
【问题描述】:
我无法填充 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"},
];
我的循环出了什么问题?
【问题讨论】:
-
与您的 testAry 示例相比,您丢弃的我的 Ary 怎么样?
-
@Taplar 我包含了来自 Chrome 的控制台输出。内容是一样的,但它缺少顶部的计数以及 [{...},{...},{...}] 这让我相信它的格式不正确。
-
jsfiddle.net/q3s3o4ja/2 在我看来是一样的。
-
jsfiddle.net/q3s3o4ja/3 它们似乎都有效。
-
@Taplar 我没有提供所有信息。该代码是 AJAX GET 成功函数的一部分。奇怪的是,根据我建立/调用它的位置,数组采用不同的形式——在 AJAX 函数内部或外部。让我再做一些工作,我会回复的。感谢您帮助我走到这一步。
标签: javascript jquery json xml jstree