下面的addSubNodes1,addSubNodes2,addSubNodes3,addSubNodes4能否用递归实现,他们唯一的区别的在于这一条语句,中间option 值的空格个数不一样: deptOptionsString = "<option value=''>" + noderoot.text + "</option>"; //组织架构目录数据
var deptOptionsString = "";
//创建组织架构
//rootNode根节点数据
function GetOrganizeTree(rootNode) {
//机构根节点数据
deptOptionsString = "<option value=''>" + noderoot.text + "</option>"; //根节点option
addSubNodes1(rootNodes);//1级子节点,在option的text中加一个空格(缩进)显示下一级节点数据
$("#deptID").append(deptOptionsString);
}
//组织架构一级子节点数据
function addSubNodes1(pNodes) {
var n = pNodes;
if (n.length > 0) {
for (i = 0; i < n.length; i++) {
deptOptionsString += "<option value='" + n[i].id + "'> |-" + n[i].text + "</option>"
if (n[i].ChildNodes.length > 0) {
addSubNodes2(n[i].ChildNodes);
}
}
}
}
//组织架构二级子节点数据
function addSubNodes2(pNodes) { var n = pNodes;
var i = 0; if (n.length > 0) {
for (; i < n.length; i++) {
deptOptionsString += "<option value='" + n[i].id + "'> |-" + n[i].text + "</option>";
if (n[i].ChildNodes.length > 0) {
addSubNodes3(n[i].ChildNodes);
} }
} }//组织架构三级子节点数据
function addSubNodes3(pNodes) { var n = pNodes;
var i = 0; if (n.length > 0) {
for (; i < n.length; i++) {
deptOptionsString += "<option value='" + n[i].id + "'> |-" + n[i].text + "</option>";
if (n[i].ChildNodes.length > 0) {
addSubNodes4(n[i].ChildNodes);
} }
}
}
//组织架构四级子节点数据
function addSubNodes4(pNodes) { var n = pNodes;
var i = 0;
if (n.length > 0) {
for (; i < n.length; i++) { deptOptionsString += "<option value='" + n[i].id + "'> |-" + n[i].text + "</option>";;
//if (n[i].ChildNodes.length > 0) {
// addSubNodes5(n[i].ChildNodes);
//} }
}
}
请指教,谢谢
var deptOptionsString = "";
//创建组织架构
//rootNode根节点数据
function GetOrganizeTree(rootNode) {
//机构根节点数据
deptOptionsString = "<option value=''>" + noderoot.text + "</option>"; //根节点option
addSubNodes1(rootNodes);//1级子节点,在option的text中加一个空格(缩进)显示下一级节点数据
$("#deptID").append(deptOptionsString);
}
//组织架构一级子节点数据
function addSubNodes1(pNodes) {
var n = pNodes;
if (n.length > 0) {
for (i = 0; i < n.length; i++) {
deptOptionsString += "<option value='" + n[i].id + "'> |-" + n[i].text + "</option>"
if (n[i].ChildNodes.length > 0) {
addSubNodes2(n[i].ChildNodes);
}
}
}
}
//组织架构二级子节点数据
function addSubNodes2(pNodes) { var n = pNodes;
var i = 0; if (n.length > 0) {
for (; i < n.length; i++) {
deptOptionsString += "<option value='" + n[i].id + "'> |-" + n[i].text + "</option>";
if (n[i].ChildNodes.length > 0) {
addSubNodes3(n[i].ChildNodes);
} }
} }//组织架构三级子节点数据
function addSubNodes3(pNodes) { var n = pNodes;
var i = 0; if (n.length > 0) {
for (; i < n.length; i++) {
deptOptionsString += "<option value='" + n[i].id + "'> |-" + n[i].text + "</option>";
if (n[i].ChildNodes.length > 0) {
addSubNodes4(n[i].ChildNodes);
} }
}
}
//组织架构四级子节点数据
function addSubNodes4(pNodes) { var n = pNodes;
var i = 0;
if (n.length > 0) {
for (; i < n.length; i++) { deptOptionsString += "<option value='" + n[i].id + "'> |-" + n[i].text + "</option>";;
//if (n[i].ChildNodes.length > 0) {
// addSubNodes5(n[i].ChildNodes);
//} }
}
}
请指教,谢谢
//机构根节点数据
deptOptionsString = "<option value=''>" + noderoot.text + "</option>"; //根节点option
addSubNodes1(rootNodes, "");//1级子节点,在option的text中加一个空格(缩进)显示下一级节点数据
$("#deptID").append(deptOptionsString);
}function addSubNodes(pNodes, pad) {
var n = pNodes;
if (n.length > 0) {
for (i = 0; i < n.length; i++) {
deptOptionsString += "<option value='" + n[i].id + "'>" + pad + "|-" + n[i].text + "</option>"
if (n[i].ChildNodes.length > 0) {
addSubNodes(n[i].ChildNodes, pad + " ");
}
}
}
}