我需要从Ext.Ajax.request({})的回调中通知selectfield sencha元素
我有一个这样的代码,例如,
Ext.Ajax.request({
url: '/express/EXPRESSVE00007_es.jsp',
timeout: 90000,
params: {
evento : action,
cookie: document.cookie,
NAME : Ext.getCmp("txtName").getValue(),
LAST : Ext.getCmp("txtLast").getValue(),
SEX : Ext.getCmp("txtSex").getValue()
},
success: function(r, o) {
var response = r.responseText
response = response.trim()
response = response.replace('\n', '').replace('\r', '')
var jsonResponse = Ext.decode(response)
Ext.Msg.alert(jsonResponse)
},
failure: function() {
Ext.Msg.show({
title: "Failure",
msg: "Error, failed response",
buttons: Ext.Msg.OK,
icon: Ext.MessageBox.ERROR
})
}
})
和我的选择字段,
{
xtype: 'selectfield',
id: 'selSex',
name: 'select',
label: '*Sex',
placeHolder: 'Select...',
displayField: 'desc',
hiddenName: 'second-select',
options: [
{desc: '', value: ''},
{desc: '', value: ''}
]
}
在这种情况下,我需要从回调Ext.Ajax.request通知“desc”和“value”字段,但我不知道。请帮帮我。
答案 0 :(得分:1)
您可以通过更新selectfield
从Ext.Ajax.request
通知store
。
您可以将商店声明为存储所有字段值,然后根据request
的响应,您可以随机播放数据存储{{ 1}}被绑定。
E.g
selectfield
并在{
xtype: 'selectfield',
store: sampleStore,
valueField:'value',
displayField:'desc',
}
的响应中更新商店值,如下所示
Ext.Ajax.request
答案 1 :(得分:1)
你可以在下面
Test = Ext.regModel('Test', {
fields: [{
name: 'desc',
type: 'string'
}, {
name: 'value',
type: 'string'
}]
});
exStores = new Ext.data.Store({
model: 'Test',
autoLoad: false });
并选择字段
{
xtype: 'selectfield',
store: exStores,
id: 'selSex',
name: 'select',
label: '*Sex',
placeHolder: 'Select...',
valueField:'value',
displayField:'desc',
}
和ajax请求
Ext.Ajax.request({
...
success: function(r, o) {
var response = r.responseText
response = response.trim()
response = response.replace('\n', '').replace('\r', '')
var jsonResponse = Ext.decode(response)
exStores.loadData(jsonResponse, false);
Ext.Msg.alert(jsonResponse)
},
...
})
希望得到这个帮助。