Foxtable(狐表)用户栏目专家坐堂 → easyui模板菜单求教


  共有2883人关注过本帖树形打印复制链接

主题:easyui模板菜单求教

帅哥哟,离线,有人找我吗?
淡月斜阳
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
easyui模板菜单求教  发帖心情 Post By:2019/4/23 9:40:00 [只看该作者]

原菜单menu.js中代码如下:
以下内容为程序代码:

1 var SystemMenu=[{"title":"系统管理","icon":"","isCurrent":true,"menu":[{"title":"管理1","icon":"","isCurrent":true,"children":[{"title":"首页","href":"workbench.html","isCurrent":true}]}]}];
我用动态生态:
以下内容为程序代码:

1 var jsonObj;
2 var SystemMenu=[];
3 $.get("getmenu.js", function(Data){
4 jsonObj =$.parseJSON(Data);
5 var josnstr= JSON.stringify(jsonObj);
6 console.log(josnstr);
7 for(var i =0 ;i < jsonObj.length;i++){
8     SystemMenu[i] = jsonObj[i];
9 }
10 console.log(typeof(SystemMenu));
11
12 });
13

调试结果:
以下内容为程序代码:

1 [{"title":"系统管理","icon":"","isCurrent":true,"menu":[{"title":"管理1","icon":"","isCurrent":true,"children":[{"title":"首页","href":"workbench.html","isCurrent":true}]}]}]
2 menu.js:10 object

生成的josn格式正确,直接把生成的格式放改成 var systemmenu可以执行。
生成菜单的代码:
以下内容为程序代码:

1     _createTopMenu: function(){
2         var menuStr = '',
3             currentIndex = 0;
4         for(var i = 0, len = SystemMenu.length; i < len; i++) {
5             menuStr += '<li class="pf-nav-item project" data-sort="'+ i +'" data-menu="system_menu_" + i>'+
6 '<a href="javascript:;">'+
7 '<span class="iconfont">'+ SystemMenu[i].icon +'</span>'+
8 '<span class="pf-nav-title">'+ SystemMenu[i].title +'</span>'+
9 '</a>'+
10 '</li>';
11 // 渲染当前
12 if (SystemMenu[i].isCurrent){
13     currentIndex = i;
14     this._createSiderMenu(SystemMenu[i], i);
15 }
16         }
17
18         $('.pf-nav').html(menuStr);
19         $('.pf-nav-item').eq(currentIndex).addClass('current');
20     },

正常和我写的错误的状态如图:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190423093648.png
图片点击可在新窗口打开查看
帮忙看看,怎么回事。
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20190423093609.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/23 11:01:00 [只看该作者]

 

返回的 Data 内容是什么?为什么不直接赋值给 SystemMenu ?

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
淡月斜阳
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2019/4/23 11:08:00 [只看该作者]

Select Case e.Path
    Case "TableData"
        e.AsyncExecute=True
        Functions.AsyncExecute("GetData",e)
    Case "getmenu"
        MessageBox.Show("c")
    Case "getmenu.js"
        Dim jb As new JArray
        jb.Add(new JObject)
        Dim jo As new JObject
        Dim ja As new JArray
        Dim ja1 As new JArray
        jb(0)("title")="系统管理"
        jb(0)("icon")=""
        jb(0)("isCurrent")=True
        jb(0)("menu")=ja
        ja.Add(new JObject)
        ja(0)("title")="管理1"
        ja(0)("icon")=""
        ja(0)("isCurrent")=True
        ja(0)("children")=ja1
        ja1.Add(new JObject)
        ja1(0)("title")="首页"
        ja1(0)("href")="workbench.html"
        ja1(0)("isCurrent")=True
        e.WriteString(CompressJson(jb))
End Select
生成的josn是这个:
[{"title":"系统管理","icon":"","isCurrent":true,"menu":[{"title":"管理1","icon":"","isCurrent":true,"children":[{"title":"首页","href":"workbench.html","isCurrent":true}]}]}];
[此贴子已经被作者于2019/4/23 11:09:22编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/23 11:27:00 [只看该作者]

直接赋值过去,如

 

SystemMenu = $.parseJSON(Data);

 


 回到顶部
帅哥哟,离线,有人找我吗?
淡月斜阳
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2019/4/23 11:35:00 [只看该作者]

不行啊,试过了
以下内容为程序代码:

1 var SystemMenu=[];
2 $.get("getmenu.js", function(Data){
3 SystemMenu=$.parseJSON(Data);
4 console.log(typeof(SystemMenu));
5 });


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/23 11:45:00 [只看该作者]

 

具体实例发上来测试

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
淡月斜阳
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2019/4/23 12:06:00 [只看该作者]

这是例子
[此贴子已经被作者于2019/4/23 12:06:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/23 12:09:00 [只看该作者]

请正确上传实例。

 回到顶部
帅哥哟,离线,有人找我吗?
淡月斜阳
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:223 积分:1960 威望:0 精华:0 注册:2015/4/8 8:18:00
  发帖心情 Post By:2019/4/23 12:15:00 [只看该作者]

上传不上啊,怎么回事
链接:https://pan.baidu.com/s/1sd4614CRObAqCjbUwEr5og 
提取码:dgp7 
放到百度网盘了
[此贴子已经被作者于2019/4/23 12:16:34编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/23 12:53:00 [只看该作者]

先执行了 main.js 的代码,才会回来执行你 $.get的代码的,也就是先生成了菜单,你才返回json数据。

 

改成,如

 

var  jsonObj;
var  SystemMenu=[];
$.get("getmenu1.js", function(Data){
alert(Data);
SystemMenu=$.parseJSON(Data);

'拷贝你main.js的代码放在这里执行

});


 回到顶部
总数 11 1 2 下一页