是否有任何 Jquery 插件或任何解决方案,用于在给定此数据表的情况下显示节点关系表(一个节点具有一个父节点和多个子节点)?
问问题
277 次
1 回答
0
您希望它们以何种方式显示?
以下是一些插件的列表:http ://www.webdesignbooth.com/15-great-jquery-plugins-for-better-table-manipulation/
我可以给你看这个,你可以根据自己的需要进行修改。它正在做的是通过对象图递归。function newDiv
请注意,可以通过编辑代码来更改样式。
(function () {
var jsonData = dataSentFromServer();
var detailsElement = document.getElementById("Details");
function newDiv(txt) {
var createDiv = document.createElement("div");
if (txt != undefined)
createDiv.innerHTML = txt;
return createDiv;
}
var depth = 1;
(function ComposeGraph(obj, el) {
var ElementArray = [];
var ChildArray = [];
$.each(obj, function (name, value) {
if (!$.isArray(value)) {
var appender = newDiv(name + " __:__ " + value);
appender.setAttribute("style", "margin-left:" + 10 * depth + "px;");
if ($.isPlainObject(value)) {
appender.innerHTML = "<b>" + appender.innerHTML + "</b>";
depth++;
ComposeGraph(value, appender);
depth--;
ElementArray.push(el);
ChildArray.push(appender);
} else {
el.appendChild(appender);
}
} else {
var appender = newDiv(name + " __:__ " + value);
appender.setAttribute("style", "margin-left:" + 10 * depth + "px;");
appender.innerHTML = "<b>" + appender.innerHTML + "</b>";
for (var i = 0, len = value.length; i < len; i++) {
depth++;
ComposeGraph(value[i], appender);
depth--;
}
ElementArray.push(el);
ChildArray.push(appender);
}
});
for (var i = 0, len = ElementArray.length; i < len; i++) {
ElementArray[i].appendChild(ChildArray[i]);
}
})(jsonData, detailsElement);
})();
于 2012-10-29T22:47:54.247 回答