Javascript 在ExtJS中加载带有XML的Combobox
我想用XML加载组合框,但无法在组合框中获取任何值, 这就是我到目前为止所做的Javascript 在ExtJS中加载带有XML的Combobox,javascript,extjs,extjs3,Javascript,Extjs,Extjs3,我想用XML加载组合框,但无法在组合框中获取任何值, 这就是我到目前为止所做的 var getMessageDomain = function () { var store = new Ext.data.Store({ url: 'zport/getDomainFilters', autoLoad: true, reader: new Ext.data.XmlReader({ record: 'Domain'
var getMessageDomain = function () {
var store = new Ext.data.Store({
url: 'zport/getDomainFilters',
autoLoad: true,
reader: new Ext.data.XmlReader({
record: 'Domain'
}, [{
name: 'name',
mapping: '@name'
}, ])
});
var combo = new Ext.form.ComboBox({
width: 250,
xtype: 'combo',
mode: 'local',
allowBlank: false,
triggerAction: 'all',
forceSelection: true,
editable: false,
fieldLabel: 'Message Domain',
name: 'titlez',
hiddenName: 'titlez',
displayField: 'name',
valueField: 'name',
editable: false,
store: store
});
return combo;
};
我的xml是这样的:
<TDSmessagedomain xmlns="">
<Domain name="AEPL" />
<Domain name="APAP" />
<Domain name="BCP" />
<Domain name="BTCI" />
<Domain name="BGSET" />
<Domain name="COLLCLIENT" />
<Domain name="COLLINT" />
<Domain name="CPL" />
<Domain name="DBWS" />
.........................
.........................
1)我建议您使用XmlStore,它会自动为您配置XmlReader
var store = new Ext.data.XmlStore({
autoLoad: true,
url: 'zport/getDomainFilters',
fields: ['name'],
record: 'Domain'
});
2) 这是未经测试的,但我认为您需要稍微修改一下XML结构。我不知道它是否会在记录标识符中查找属性
<TDSmessagedomain xmlns="">
<Domain>
<name>AEPL</name>
</Domain>
<Domain>
<name>APAP</name>
</Domain>
</TDSmessagedomain>
AEPL
APAP
1)我建议您使用XmlStore,它会自动为您配置XmlReader
var store = new Ext.data.XmlStore({
autoLoad: true,
url: 'zport/getDomainFilters',
fields: ['name'],
record: 'Domain'
});
2) 这是未经测试的,但我认为您需要稍微修改一下XML结构。我不知道它是否会在记录标识符中查找属性
<TDSmessagedomain xmlns="">
<Domain>
<name>AEPL</name>
</Domain>
<Domain>
<name>APAP</name>
</Domain>
</TDSmessagedomain>
AEPL
APAP