var city1= new Ext.form.ComboBox({
width:80,
store:new Ext.data.SimpleStore({
fields:['areaid','areaname'],
data:Ext.advice.formdata.Area
}),
displayField:'areaname',
valueField:'areaid',
mode:'local',
triggerAction:'all',
hiddenName:'hcity1',
readOnly:true,
editable:false,
value:'北京',
hiddenValue:'8'
});
var city2 = new Ext.form.ComboBox({
width:90,
store:areastore,
/*
store:new Ext.data.SimpleStore({
fields:['areaid','areaname'],
data:Ext.advice.formdata.Area
}),*/
valueField:'id',
displayField:'name',
mode:'local',
triggerAction:'all',
emptyText:'市级',
hiddenName:'hcity2',
readOnly:true,
editable:false,
selectOnFocus:true
});
两个ComboBox定义,第一个读本地数组,第二个交互服务器
var areastore = new Ext.data.Store({
proxy:new Ext.data.HttpProxy({url:'AdminV3/AreaAjax.aspx?id='}),
reader:new Ext.data.JsonReader({
totalProperty: 'totalcount',
root:'root'
},[
{name:'id'},
{name:'name'}
])
});
交互的数据格式,
city1.on('select',function(){
city2.reset();
areastore.proxy=new Ext.data.HttpProxy({url:'AdminV3/AreaAjax.aspx?id='+city1.getValue()});
areastore.load();
alert(city2.store.data.length)
});
启动方法
DataTable areas = Fayi.Lawyer.Logic.AreaTree.GetChildrenNodes(areaid);
if (areas != null)
{
if (areas.Rows.Count != 0)
{
string json = "";
json += "{'totalCount':" + areas.Rows.Count + ",'root':[";
foreach (DataRow dr in areas.Rows)
{
json += "{'id':'" + dr["nodeid"].ToString() + "','name':'" + dr["nodename"].ToString() + "'},";
}
json = json.Substring(0, json.Length - 1);
json += "]}";
Response.Write(json);
}
}
后台返回JSON
有哪位高手帮忙看看!ComboBox就是不动啊!
|