代码如下:
var formpanel=new Ext.FormPanel({ labelAlign: 'center', renderTo: document.body, layout:'form', frame:true, title: '知识库管理(无线宽带导航页面推送)', bodyStyle:'padding:5px 5px 0', anchor:'95%', items: [ { xtype: 'radiogroup', name: 'biztype', width: 220, columns: 3, fieldLabel: '业务类别', //store:data items:getData() }] }); function getData(){ var conn = new Ext.data.Connection(); conn.request({ // url:'../jfoss/usersearchinfoinitt.action', //数据地址 url:'./combobox.jsp', //数据地址 // url: '', success: function(response) { itemArray = Ext.util.JSON.decode(response.responseText); Ext.getCmp('id').items=itemArray; } }); }
combobox.jsp内容如下:[
{boxLabel: 'type1',name:'type1', inputValue: '01'},
{boxLabel: 'type2',name:'type2', inputValue: '02'},
{boxLabel: 'type3',name:'type3', inputValue: '03'},
{boxLabel: 'type4', name:'type4',inputValue: '04'}
]
可是firefox调试说:this.items is undefined 肯定是数据获取问题 或者items:getData()这块有问题,
高手帮帮忙啊?急死我了
------解决方案--------------------
给其初始的rdaio,然后返回数据后删掉它,创建新的。
- HTML code
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
<script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="extjs/ext-all.js"></script>
<script>
Ext.onReady(function(){
var formpanel=new Ext.FormPanel({
labelAlign: 'center',
renderTo: document.body,
layout:'form',
frame:true,
title: '知识库管理(无线宽带导航页面推送)',
bodyStyle:'padding:5px 5px 0',
anchor:'95%',
items:[{
id:'rd',
xtype: 'radiogroup',
name: 'biztype',
width: 220,
columns: 3,
fieldLabel: '业务类别',
items:[
{boxLabel: 'type1',name:'type1', inputValue: '01'},
{boxLabel: 'type2',name:'type2', inputValue: '02'},
{boxLabel: 'type3',name:'type3', inputValue: '03'}
]
}]
});
function getData(){
var conn = new Ext.data.Connection();
conn.request({
url:'./combobox.jsp',
success: function(response){
itemArray = Ext.util.JSON.decode(response.responseText);
var cfg = Ext.getCmp('rd').initialConfig;
cfg.items = itemArray;
formpanel.remove(Ext.getCmp('rd'));
var newrg = new Ext.form.RadioGroup(cfg);
formpanel.add(newrg);
formpanel.doLayout();
}
});
}
getData()
});
</script>