给你个demo,自己改下:
var combo = new Ext.form.ComboBox({
id:'filiale',
fieldLabel:"所在组",
hiddenName:"groupId", // 下拉框在 HTML 中显示的名称
allowBlank :false,
width:201,
selectOnFocus:true,
valueField:"fid", // 提交表单时,下拉框的值
displayField:'title', // 显示在页面上下拉框的值
emptyText:'请选择..',
editable:false,
mode:"local",
forceSelection:true,
triggerAction:'all',
allowBlank:false,
store: new Ext.data.JsonStore({
// 动态从后台提取数据并填充到 ComboBox
autoLoad:true,
fields: ['fid', 'title'],
url: 'car.adp'),
}),
typeAhead: true,
listeners:{
select :function(combo,record,index){
alert(combo.value);
}
}
});
记住里面的几个关键名称:filiale、groupId、fid, title。
聪明的你自己对应修改一下吧。
首先 你定义的combo就有点问题 你的key/value是一个 “name”
下面来回答你主要的问题 就是数据怎么显示到你的combo上
你的store需要的是json格式的字符串 然后标记上displayField和 valueField的字符串
如果不明白 我可以给你写一个你现在返回的jason
[{'name':'一'},{'name':'二'},{'name':'三'}]
如果把你的代码改一下 改成
displayField: 'id',
valueField: 'name',
那么需要返回的json是这样的
[{'name':'一','id':'one'},{'name':'二','id':'two'}]