extjs combobox 级联问题
两个combobox,一个combobox是班级,一个combobox是老师,我实现了级联,但是有一个问题第一次选择班级的时候,对于老师的下拉框显示的是全部的老师,不是对...
两个combobox,一个combobox是班级,一个combobox是老师,我实现了级联,但是有一个问题第一次选择班级的时候,对于老师的下拉框显示的是全部的老师,不是对应班级的老师(这其实他会显示对应班级的老师的,但是一下子就变成全部老师了),第二次点击班级选择出来就是对应班级的老师。以后都是正常的,就是第一下会出现那样的问题。
展开
展开全部
代码风格很不一样呢,我之前做的时候也遇到过这种问题,放佛是因为加载combobox和加载数据的先后问题造成的
解决的方法是,先加载combox,再加载数据,代码如下
Ext.onReady(function() {
//省份
new Ext.form.ComboBox({
id: 'SF',
//省份的数据自动加载
store: Ext.create('Ext.data.Store', {fields: ['name']}),
displayField: 'name',
valueField: 'name',
listeners:{
'blur': askCity
}
});
});
function askCity(){
Ext.Ajax.request({
url: 'xxx.jsp',
params: {
sf: Ext.get('SF').getValue()
},
success: function(response){
//这里不需要removeall了,因为回来的数据只会是该省份下的城市
var respText = Ext.decode(response.responseText);
Ext.get('cs').store.loadData(respText);
},
failure: function(response){
Ext.Msg.alert('意外', '请求数据时发生意外,请刷新页面');
}
});
}
//城市的combo第一次运行不加载数据,或者填个blankText: '请选择省份',
解决的方法是,先加载combox,再加载数据,代码如下
Ext.onReady(function() {
//省份
new Ext.form.ComboBox({
id: 'SF',
//省份的数据自动加载
store: Ext.create('Ext.data.Store', {fields: ['name']}),
displayField: 'name',
valueField: 'name',
listeners:{
'blur': askCity
}
});
});
function askCity(){
Ext.Ajax.request({
url: 'xxx.jsp',
params: {
sf: Ext.get('SF').getValue()
},
success: function(response){
//这里不需要removeall了,因为回来的数据只会是该省份下的城市
var respText = Ext.decode(response.responseText);
Ext.get('cs').store.loadData(respText);
},
failure: function(response){
Ext.Msg.alert('意外', '请求数据时发生意外,请刷新页面');
}
});
}
//城市的combo第一次运行不加载数据,或者填个blankText: '请选择省份',
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询