Sencha touch 如何从Ext.Ajax.request的响应中通知selectfield元素?
我需要从Ext.Ajax.request({})的回调通知selectfield sencha元素 我有一个密码,比如Sencha touch 如何从Ext.Ajax.request的响应中通知selectfield元素?,sencha-touch,extjs,sencha-touch-2,json,sencha-architect,Sencha Touch,Extjs,Sencha Touch 2,Json,Sencha Architect,我需要从Ext.Ajax.request({})的回调通知selectfield sencha元素 我有一个密码,比如 Ext.Ajax.request({ url: '/express/EXPRESSVE00007_es.jsp', timeout: 90000, params: { evento : action, cookie: document.coo
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”字段,但我不知道。请帮帮我。您可以从
Ext.Ajax.request
通知selectfield
,方法是更新它的store
您可以声明一个存储区来存储所有字段值,然后在响应请求时,您可以洗牌绑定到selectfield
的数据存储区
例如
并更新Ext.Ajax.request
响应上的存储值,如下所示
Ext.StoreMgr.get('sampleStore').load();
你可以在下面做
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)
},
...
})
希望这有帮助
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)
},
...
})