我正在编写使用复选框操作的插件。 现在我有一些问题。在我获得JSON 之后,我想要联系我的孩子和父母。 每个孩子都有数据父级,其值为此ID。
示例子项: {“id”:4,“name”:“name 1”,“parent”:1} ,
示例父级: {“id”:2,“name”:“name 2”,“parent”: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);
});
答案 0 :(得分:0)
你正在做的事情被称为关闭:http://en.wikipedia.org/wiki/Closure_%28computer_science%29
你所做的是非常常见的代码。这是一个不好的做法是让HTML炸弹droped在javascript中间有一个字符串。
为了可维护性,您可能应该将“子”和“父”转换为对象,这些对象存储对各自节点的引用,并为您提供一组实用函数,以便您可以直接操作它们。 Take a look here