JS高手帮个忙,该个程序

自由鸟007 2014-10-02 03:30:28
以下是通过json数据拼接导航菜单结构的,下面红色字体哪里“这里为数据中的uid”要换成数据中的uid,程序是在网上找的,原来这里直接是<ul>但是我需要根据菜单的uid来添加ul 的class,哪位帮我该一下,谢谢了!如果可以,可以把这段程序改成c#的吗,或者给注释一下。

var zNodes=[
{id:1,pId:0,name:"A",uid:"one",aid:"more"},
{id:11,pId:1,name:"A1",uid:"two",aid:"more"},
{id:12,pId:1,name:"A2",uid:"one",aid:"more"},
{id:13,pId:1,name:"A3",uid:"one",aid:"more"},
{id:2,pId:0,name:"B",uid:"one",aid:"more"},
{id:21,pId:2,name:"B1",uid:"one",aid:"more"},
{id:22,pId:2,name:"B2",uid:"one",aid:"more"},
{id:23,pId:2,name:"B3",uid:"one",aid:"more"},
{id:3,pId:0,name:"C",uid:"one",aid:"more"},
{id:31,pId:3,name:"C1",uid:"one",aid:"more"},
{id:32,pId:3,name:"C2",uid:"one",aid:"more"},
{id:33,pId:3,name:"C3",uid:"one",aid:"more"},
{id:34,pId:31,name:"x",uid:"one",aid:"more"},
{id:35,pId:31,name:"y",uid:"one",aid:"more"},
{id:36,pId:31,name:"z",uid:"one",aid:"more"}
];
function treeMenu(a){
this.tree=a||[];
this.groups={};
};
treeMenu.prototype={
init:function(pid){
this.group();
return this.getDom(this.groups[pid]);
},
group:function(){
for(var i=0;i<this.tree.length;i++){
if(this.groups[this.tree[i].pId]){
this.groups[this.tree[i].pId].push(this.tree[i]);
}else{
this.groups[this.tree[i].pId]=[];
this.groups[this.tree[i].pId].push(this.tree[i]);
}
}
},
getDom:function(a){
if(!a){return ''}
var html='\n<ul class="这里为数据中的uid">\n';
for(var i=0;i<a.length;i++){
html+='<li class="hide"><a href="#">'+a[i].name+'</a>';
html+=this.getDom(this.groups[a[i].id]);
html+='</li>\n';
};
html+='</ul>\n';
return html;
}
};
var html=new treeMenu(zNodes).init(0);
...全文
188 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
自由鸟007 2014-10-04
  • 打赏
  • 举报
回复
MVc哪来的导航控件啊
笑梦码侬生 2014-10-04
  • 打赏
  • 举报
回复
使用javascript的字符串拼接就可以使用。 C#我就不知道了。
KK3K2005 2014-10-04
  • 打赏
  • 举报
回复
c#自带导航控件的 你用c#就别拼字符串了 getDom:function(a){ if(!a){return ''} //var html='\n<ul class="这里为数据中的uid">\n'; for(var i=0;i<a.length;i++){ //html+='<li class="hide"><a href="#">'+a[i].name+'</a>'; html+='<li class="'+a.uid+'"><a href="#">'+a[i].name+'</a>'; html+=this.getDom(this.groups[a[i].id]); html+='</li>\n'; }; html+='</ul>\n'; return html; } 虽然你说了ul 但是根据数据结构 明显是 li匹配 uid
自由鸟007 2014-10-02
  • 打赏
  • 举报
回复
怎么没人啊,等了一天,高手帮个忙啊
自由鸟007 2014-10-02
  • 打赏
  • 举报
回复
今天大家都休息吗?怎么没人帮忙啊。
自由鸟007 2014-10-02
  • 打赏
  • 举报
回复
网上通过json数据实现多级(最少要支持到5级)水平导航menu菜单很少,找到这段js程序来拼接字符串,只要能添加不同<ul>的class就可以实现多级导航,高手们帮该一下,如果能改成c#版本,就更爽了,自己先顶一下。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧