一个困惑了一天多的easyui accordion 问题

gdjlc 2013-09-30 10:20:12
做了一个菜单,如果不用ajax,手动添加菜单项html在页面,就会正常显示

<div id="divTree" class="easyui-accordion" fit="true" border="false">
<div data-options="iconCls:'tu0501'" title="后台管理">
<div class="easyui-panel" fit="true" border="false">
<ul class="easyui-tree">
<li><a href="#" icon="tu1201" rel="Article/List.htm">随笔列表</a></li>
<li><a href="#" icon="tu1201" rel="Category/List.htm">类别列表</a></li>
</ul>
</div>
</div>
<div。。。。这里的内容和下面ajax获取的“d”一样。。。
</div>
</div>





但是如果用ajax获取“菜单项html”后就不正常了,加了$.parser.parse($('#divTree'));
或者$.parser.parse();也没用。

$.net.AccountBLL.GetMenuByAccount(function (d) {
$('#divTree').append(d); //d为ajax获取菜单html
$.parser.parse($('#divTree'));
});


<div id="divTree" class="easyui-accordion" fit="true" border="false">
<div data-options="iconCls:'tu0501'" title="后台管理">
<div class="easyui-panel" fit="true" border="false">
<ul class="easyui-tree">
<li><a href="#" icon="tu1201" rel="Article/List.htm">随笔列表</a></li>
<li><a href="#" icon="tu1201" rel="Category/List.htm">类别列表</a></li>
</ul>
</div>
</div>
</div>


变成了

也就是“系统设置”和“个人设置”不见了,只显示它们的子菜单
...全文
11473 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
GDY__GDY 2016-04-15
  • 打赏
  • 举报
回复
引用 2 楼 showbo 的回复:
<div id="divTree"> 去掉 class="easyui-accordion" fit="true" border="false"这些属性,不让easyui自动处理accordion,调用easyui的api来生成试试
$.net.AccountBLL.GetMenuByAccount(function (d) {
                $('#divTree').append(d);       //d为ajax获取菜单html
                //$.parser.parse($('#divTree'));

    $('#divTree').accordion({ border:false,fit:true });
 });
洗洗敲代码吧 2015-06-07
  • 打赏
  • 举报
回复
一级菜单的图标出不来啊。。二级菜单的样式也不管用了。。。郁闷!!
夜无痕星 2015-03-16
  • 打赏
  • 举报
回复
感谢版主!!!终于弄好了。得去掉$.parse.parse()才行!
夜无痕星 2015-03-16
  • 打赏
  • 举报
回复
楼主,你这只困惑一天,我在这儿都困惑一星期了!!!起初还以为是传的JSON格式的菜单数据不标准,现在看来是easyui的问题啊,我这就去试试。有什么问题的话还希望楼主和版主指点指点啊
夏日青桔 2014-04-11
  • 打赏
  • 举报
回复
为什么我像下面这样动态生成,会报错啊?求解!!!非常感谢!
$('#divTree').append(d);
$.parser.parse($('#divTree'));
$('#divTree').accordion({ border: false, fit: true });

错误信息如下:
TypeError: $.data(...) is undefined jquery....min.js (第 3187 行)
return $.data(jq[0],"accordion").panels;

xilaianzxsc 2013-12-18
  • 打赏
  • 举报
回复
我也想弄出这样一个好看的菜单来
xilaianzxsc 2013-12-10
  • 打赏
  • 举报
回复
showbo老师一到,什么问题都能解决
xilaianzxsc 2013-12-06
  • 打赏
  • 举报
回复
向老师学习了
「已注销」 2013-12-05
  • 打赏
  • 举报
回复
[yabao=什么意思啊][/yabao]
gdjlc 2013-09-30
  • 打赏
  • 举报
回复
多谢版主,还真的好了。 不过要加上$.parser.parse($('#divTree'));不加的话,一级菜单正常,但里面的菜单样式失效了

$.net.AccountBLL.Options.async = false;
$.net.AccountBLL.GetMenuByAccount(function (d) {
       $('#divTree').append(d);
       $.parser.parse($('#divTree'));
       $('#divTree').accordion({ border: false, fit: true });                
 });
  • 打赏
  • 举报
回复
<div id="divTree"> 去掉 class="easyui-accordion" fit="true" border="false"这些属性,不让easyui自动处理accordion,调用easyui的api来生成试试
$.net.AccountBLL.GetMenuByAccount(function (d) {
                $('#divTree').append(d);       //d为ajax获取菜单html
                //$.parser.parse($('#divTree'));

    $('#divTree').accordion({ border:false,fit:true });
 });
fzfei2 2013-09-30
  • 打赏
  • 举报
回复
容器事先加上 固定高度试试

52,792

社区成员

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

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