前台页面代码如下:
1 <div data-options="region:'west',split:true" title="导航菜单" style="width:200px;"> 2 <div id="menu" class="easyui-accordion" data-options="fit:true,border:false,animate:true,plain:true"> 3 </div> 4 </div>
JS代码如下:
大类菜单
1 $(document).ready(function () { 2 $.ajax({ 3 type: 'GET', 4 dataType: "json", 5 url: '/Ajax/GetMenuList.ashx?Type=MainMenu&PName='+escape('空'), 6 success: function (data) { 7 $.each(data, function (i, n) { 8 $('#menu').accordion('add', { 9 title: n.MenuName, 10 //click:GetSmallMenu(n.MenuID,n.MenuName), 11 iconCls: 'icon-menu-' + n.MenuImg.replace(new RegExp('.png'), ''), 12 selected: false, 13 content: '<div style="padding:10px;" name="' + n.MenuName + '"><p id="'+n.MenuID+'"><a href="#" onclick=GetSmallMenu("'+n.MenuName+'","'+n.MenuID+'")></a></p></div>' 14 }); 15 }); 16 } 17 }); 18 $('#menu').accordion({ 19 autoHeight:false, 20 navigator:true 21 }); 22 });
小类菜单
1 function GetSmallMenu(mname,mid) { 2 $.ajax({ 3 type: "GET", 4 dataType: "json", 5 url: '/Ajax/GetMenuList.ashx?Type=SmallMenu&PName=' + escape(mname), 6 success: function (data) { 7 var ahtml = '<ul name="' + mname + '">'; 8 $.each(data, function (i, n) { 9 ahtml += '<li><div class="selected"><a href="'+n.MenuUrl+'"><span class="icon-nav icon"></span>'+n.MenuName+'</a></div></li>'; 10 //ahtml += '<li onclick="OpenMenuUrl(' + n.MenuID + ')" title="' + n.MenuName + '">' + n.MenuName + '</li>'; 11 }); 12 ahtml += '</ul>'; 13 // alert(ahtml); 14 //$("#"+mid).html(ahtml); 15 $('p[id=' + mid+']').append(ahtml); 16 } 17 }); 18 }
代码就是上面这样的,一类菜单可以取到,小类菜单我用alert可以弹出来的,但在页面上面就是显示不出来。
自己已解决
$('p[id=' + mid+']')的问题,看看最终这个在页面上有没?
你是指$('p[id=' + mid+']')没获取到值还是指$('p[id=' + mid+']').append有问题?
@wavegui: 因该是
$('p[id=' + mid+']')没取到值。你看看最终页面生成的是什么,用ID选择器测试一下
这个问题解决了吗?同求解。