ExtJs的一个问题

Cjlu_B 2010-01-19 08:07:33

Ext.onReady(function(){
var DivItems = ""
var MenuItems = ""
//**************************************************************
//就是这里 用MenuItems.asp输出的就是下面两行的东西,但是就是不行
// $.getScript("/MenuItems.asp")
MenuItems={contentEl:'DBManage',title:'DBManage',border:false,iconCls:'nav'};
DivItems="<div id='DBManage'>111</div>"
//**************************************************************
$("body").html(DivItems)
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
var viewport = new Ext.Viewport({
layout:'border',
items:[{
region:'east',
title: 'East Side',
collapsible: true,
split:true,
width: 225,
minSize: 175,
maxSize: 400,
layout:'fit',
margins:'0 5 0 0',
items:
new Ext.Panel({
border:false,
html:"123"
})
},{
region:'west',
id:'west-panel',
title:'West',
split:true,
width: 200,
minSize: 175,
maxSize: 400,
collapsible: true,
margins:'0 0 0 5',
layout:'accordion',
layoutConfig:{
animate:true
},
items: [MenuItems]
},
new Ext.TabPanel({
region:'center',
deferredRender:false,
activeTab:0,
items:[{
title: 'Close Me',
closable:false,
autoScroll:true,
html:'123'
}]
})
]
});
});


直接把
MenuItems={contentEl:'DBManage',title:'DBManage',border:false,iconCls:'nav'};
DivItems="<div id='DBManage'>111</div>"
写在里面就没有问题
但是想说用jQuery的方法去读取这样就不行了?
哪位对EXT比较熟悉的高手指点下吧
...全文
69 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
s000rd 2010-01-20
  • 打赏
  • 举报
回复
后台输出:
MenuItems=eval([{contentEl:'DBManage',title:'DBManage',border:false,iconCls:'nav'}]);
前台js
region:'west',
id:'west-panel',
title:'West',
split:true,
width: 200,
minSize: 175,
maxSize: 400,
collapsible: true,
margins:'0 0 0 5',
layout:'accordion',
layoutConfig:{
animate:true
},
items: MenuItems
如果是后台输出的,前台items里的必须是json对象,所以必须用eval转义。
watermarkmms 2010-01-20
  • 打赏
  • 举报
回复
不行就用其他方法替换,没必要非得这样
1、用ext做ajax请求,然后用eval()来生产这两个对象
2、在cs文件中直接拼装一段js,js直接包含那两个对象,页面顶部<%=js对象%>
发帖
JavaScript

8.7w+

社区成员

Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
帖子事件
创建了帖子
2010-01-19 08:07
社区公告
暂无公告