我编写了使用复选框操作的插件。现在我有问题了。在我获得JSON之后,我想连接我的孩子和父母。每个子节点都有数据父级,其值为该id。
示例子:{ "id":4,“名称”:“名称1",”父“:1},
示例父:{ "id":2,“名称”:“名称2",”父“:false }
在完成我的第一级(父母),我想附加到父母,他们的孩子。请帮帮忙,我不知道怎么做。
var $this = this.element; // (target to DOM element, in this context 'body')
$.getJSON('js/ajax/data.json', function(data) {
var parentData = [];
var childrenData = [];
$.each(data, function(i, item) {
if (data[i].parent == false) {
parentData.push(
'<div class="ra-megaselect-rubrics-level-one"><label>' +
'<input type="checkbox" data-id="' + data[i].id + '">' +
'<span>' + data[i].name + '</span>' +
'</label></div> '
)}
else {
childrenData.push(
'<div class="ra-megaselect-rubrics-level-two"><label>' +
'<input type="checkbox" data-id="' + data[i].id + '" data-parent="' + data[i].parent + '">' +
'<span>' + data[i].name + '</span>' +
'</label>'
)}
});
$this.append(parentData);
});发布于 2013-03-30 08:41:53
您正在做的事情被称为闭包:科学/29
你所做的是很普通的代码。不好的部分是HTML炸弹下垂,在javascript中间有一个字符串。
为了便于维护,您可能应该将“子”和“父”转换为对象,这些对象存储对各自节点的引用,并为您提供一系列实用函数,以便您可以直接操作它们。看看这里
https://stackoverflow.com/questions/15716174
复制相似问题