lijiahuilijiahui 2009-11-03 15:06
浏览 215
已采纳

EXT的动态menu

用ext实现动态menu 我的思路如下:
1:定义一个空的menu var NodeMenu=new Ext.menu.Menu();

2.用ajax从数据库里面去的想要的数据转换成json的格式 ajax的异步代码如下:

    Ext.Ajax.request({
      url:'menu.do',
      success:function(response){
      var menuItem=Ext.decode(response.responseText);//这里返回的是一个json格式的
       NodeMenu.add(menuItem);然后将这个动态的menuItem传递给上面定义的menu
        }
    });

 

 

 

可是我这样定义 子菜单还是为空 menu.do的json转化后的格式为[{id:'1',text:'aa'},{id:'2',text:'bb'}]

是我的json格式错了 还是不应该用add方法 谢谢

 

 

 

 


问题补充:
楼下的两个方法我都试过了 用additem就提示不支持此方法 用那个数组的方法也是错误的 因为menuItem是一个对象类型 根本不是数组呀
问题补充:
我的alert(response.responseText)已经上传  提醒一下 我没有alert(Ext.decode(response.responseText)) 加上ext.decode后 编程object了
问题补充:
按照你这样的写法后 怎么提示了一个错误 render为空或者不是对象 我的菜单已经绑定了的呀 是不是因为刚开始定义了一个空的menu的原因吧
问题补充:
知道原因了 是因为我的var mi = menuItem[i];     的值  我alert了一下 还是undefined 我再看看吧 谢谢大家
问题补充:
var items = menuItem.msg;    
      for(var i =0;i < items.length; i++)    
      {    
        var mi = items[i];    
        NodeMenu.add(mi);    
    
      }    这种方式不行 因为items虽然格式是[{id:'1',text:'aa'},{id:'2'},text:'bb'],但是items[i]的值 是undefind 哎 这不是数组类型吧
  • 写回答

8条回答 默认 最新

  • 成尚謙 2009-11-03 16:37
    关注

    看你补充问题中给出的JSON格式,我不知道是不是你输入写错了还是你后台返回的就是那样,把你的JSOn数据规范一下再试试吧。
    [quote]
    这种方式不行 因为items虽然格式是[{id:'1',text:'aa'},{id:'2'},text:'bb'],//这样的数据不行,
    [/quote]

    再不行把你后台和前台所有代码贴出来。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题