EXT comboBox两级联动,选择一级数据后,根据一级选择的数据加载二级数据下拉列表
现在的问题就是二级数据的store一直是空的,数据加载不进去。数据加载的时候,城市的下拉菜单能出来,选择了城市之后想要选择地区,地区的placestore就一直是空的。困...
现在的问题就是二级数据的store一直是空的,数据加载不进去。
数据加载的时候,城市的下拉菜单能出来,选择了城市之后想要选择地区,地区的placestore就一直是空的。
困扰了好久,求解决。
var citystore=new Ext.data.Store({
proxy:new Ext.data.HttpProxy({
url:'city_query.action'
}),
reader:new Ext.data.JsonReader({
totalProperty:'total',
root:'cityList'
},[
{name:'id'},
{name:'name'}
])
});
var placestore=new Ext.data.Store({
proxy:new Ext.data.HttpProxy({
url:'place_query.action'
}),
reader:new Ext.data.JsonReader({
totalProperty:'total',
root:'placeList'
},[
{name:'id',type:String},
{name:'name',type:String},
{name:'cityid',type:String}
])
});
var comboCity=new Ext.form.ComboBox({
//applyTo:'comboCity',
fieldLabel:'城市',
emptyText:'请选择',
autowidth:true,
selectOnFocus:true,
forceSelection: true,
mode:'local',
triggerAction:'all',
//triggerAction:'query',
name:'place.cityid',
store:citystore,
valueField:'id',
displayField:'name',
hiddenName:'id'
});
var comboPlace=new Ext.form.ComboBox({
//applyTo:'comboPlace',
fieldLabel:'地区',
emptyText:'请选择',
autowidth:true,
selectOnFocus:true,
forceSelection: true,
mode:'local',
triggerAction:'all',
//triggerAction:'query',
//valueField:'id',
displayField:'name',
hiddenName:'name',
name:'place.name',
store:placestore
});
citystore.load();
comboCity.on('select',function(comboBox){
var value=comboBox.getValue();
placestore.load({params:{id:value}});
alert(value);
});
var theForm=new Ext.FormPanel({
labelSeparator :":",
layout:'form',
frame :true,//渲染面板为自定义的圆角边框
border :false,//不显示面板体边框
autoHeight: true,
items:[{
xtype:'textfield',
fieldLabel:'地区编号',
name:'place.id',
displayField:'id',
maxLength:6,
autowidth:true,
allowBlank:false
},
comboCity,comboPlace
]
});
这个问题已经解决了,现在的问题是,读取其中一条记录的时候,id无法显示在页面上,只有name和cityid。 展开
数据加载的时候,城市的下拉菜单能出来,选择了城市之后想要选择地区,地区的placestore就一直是空的。
困扰了好久,求解决。
var citystore=new Ext.data.Store({
proxy:new Ext.data.HttpProxy({
url:'city_query.action'
}),
reader:new Ext.data.JsonReader({
totalProperty:'total',
root:'cityList'
},[
{name:'id'},
{name:'name'}
])
});
var placestore=new Ext.data.Store({
proxy:new Ext.data.HttpProxy({
url:'place_query.action'
}),
reader:new Ext.data.JsonReader({
totalProperty:'total',
root:'placeList'
},[
{name:'id',type:String},
{name:'name',type:String},
{name:'cityid',type:String}
])
});
var comboCity=new Ext.form.ComboBox({
//applyTo:'comboCity',
fieldLabel:'城市',
emptyText:'请选择',
autowidth:true,
selectOnFocus:true,
forceSelection: true,
mode:'local',
triggerAction:'all',
//triggerAction:'query',
name:'place.cityid',
store:citystore,
valueField:'id',
displayField:'name',
hiddenName:'id'
});
var comboPlace=new Ext.form.ComboBox({
//applyTo:'comboPlace',
fieldLabel:'地区',
emptyText:'请选择',
autowidth:true,
selectOnFocus:true,
forceSelection: true,
mode:'local',
triggerAction:'all',
//triggerAction:'query',
//valueField:'id',
displayField:'name',
hiddenName:'name',
name:'place.name',
store:placestore
});
citystore.load();
comboCity.on('select',function(comboBox){
var value=comboBox.getValue();
placestore.load({params:{id:value}});
alert(value);
});
var theForm=new Ext.FormPanel({
labelSeparator :":",
layout:'form',
frame :true,//渲染面板为自定义的圆角边框
border :false,//不显示面板体边框
autoHeight: true,
items:[{
xtype:'textfield',
fieldLabel:'地区编号',
name:'place.id',
displayField:'id',
maxLength:6,
autowidth:true,
allowBlank:false
},
comboCity,comboPlace
]
});
这个问题已经解决了,现在的问题是,读取其中一条记录的时候,id无法显示在页面上,只有name和cityid。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询