求一个树形的递归菜单 本帖最后由 withwind_ 于 2013-03-05 16:51:32 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在google浏览器的控制台下看。var data = [ { "config_id" : "110", "task_name" : "任务1", "parent_id" : "0" },{ "config_id" : "111", "task_name" : "任务2", "parent_id" : "0" }, { "config_id" : "112", "task_name" : "任务3", "parent_id" : "0" }, { "config_id" : "113", "task_name" : "任务4", "parent_id" : "0" }, { "config_id" : "114", "task_name" : "任务5", "parent_id" : "0" }, { "config_id" : "121", "task_name" : "任务6", "parent_id" : "111" }, { "config_id" : "122", "task_name" : "任务7", "parent_id" : "110" }, { "config_id" : "123", "task_name" : "任务8", "parent_id" : "112" }, { "config_id" : "124", "task_name" : "任务9", "parent_id" : "113" }, { "config_id" : "125", "task_name" : "任务10", "parent_id" : "114" }, { "config_id" : "126", "task_name" : "任务11", "parent_id" : "114" }, { "config_id" : "127", "task_name" : "任务12", "parent_id" : "114" }];function fn(_pid , _data , _deep){ for(var i = 0 ; i < _data.length ; ++i){ if(_data[i].parent_id == _pid){ console.log(getSpace(_deep)+_data[i].task_name); fn(_data[i].config_id , _data , _deep+1); } }}function getSpace(i){ var _space = ''; for(var j = 0 ; j < i ; ++j){ _space+='\t'; } return _space;}fn(0 , data , 0); 额, 这个如何来用table显示这种格式啊,调试了一天也没成功,表格一直是乱的。。还请大神赐教。 就是这种用TABLE显示出来的效果 html input输入框元素onblur事件问题 extjs mvc的view是否只能采用gird.panel? 弹出窗口后对焦点转移的控制 帮忙做个程序,酬谢。 为什么第一次显示的是NaN而不是1啊,i第一次不是赋了数值了吗,怎么不能处理啊? 新手javascript求教 js 如果判断 radio 未被选中 HTML里的按钮如何变灰啊,快来看看啊 文本框的拖放 我在HTML中嵌入了动态生成行的JAVASCRIPT语句,生成内容后为什么在源带码中看不见??? Jquery Ligerui LigerGrid 实现时间选择控件,不要日期的那种, iframe 高度自适应问题
[
{
"config_id" : "110",
"task_name" : "任务1",
"parent_id" : "0"
},{
"config_id" : "111",
"task_name" : "任务2",
"parent_id" : "0"
}, {
"config_id" : "112",
"task_name" : "任务3",
"parent_id" : "0"
}, {
"config_id" : "113",
"task_name" : "任务4",
"parent_id" : "0"
}, {
"config_id" : "114",
"task_name" : "任务5",
"parent_id" : "0"
}, {
"config_id" : "121",
"task_name" : "任务6",
"parent_id" : "111"
}, {
"config_id" : "122",
"task_name" : "任务7",
"parent_id" : "110"
}, {
"config_id" : "123",
"task_name" : "任务8",
"parent_id" : "112"
}, {
"config_id" : "124",
"task_name" : "任务9",
"parent_id" : "113"
}, {
"config_id" : "125",
"task_name" : "任务10",
"parent_id" : "114"
}, {
"config_id" : "126",
"task_name" : "任务11",
"parent_id" : "114"
}, {
"config_id" : "127",
"task_name" : "任务12",
"parent_id" : "114"
}
];
function fn(_pid , _data , _deep){
for(var i = 0 ; i < _data.length ; ++i){
if(_data[i].parent_id == _pid){
console.log(getSpace(_deep)+_data[i].task_name);
fn(_data[i].config_id , _data , _deep+1);
}
}
}
function getSpace(i){
var _space = '';
for(var j = 0 ; j < i ; ++j){
_space+='\t';
}
return _space;
}
fn(0 , data , 0);
额, 这个如何来用table显示这种格式啊,调试了一天也没成功,表格一直是乱的。。还请大神赐教。
就是这种用TABLE显示出来的效果