ExtJS中给ComboBox设定初始值的问题
我做了几个ComboBox联动,需要第一次显示时设定初始值,这个通过value可以指定,但是通过value指定时它显示的也是
value的值,不能做到向后台传递的和前台显示的两个值不同,请高手指教。谢谢!!!
前面有的高手给予指点,但是没抓住指点,我在详细说一下:
通过displayfield和valuefield是可以实现提交的值和显示的值不同,我问的关键是在打开页面有ComboBox有初始选定值
怎么实现,若我给它value赋个初值“教授”,前端显示的是”教授“那么提交的就是“教授”,而我想提交“教授”的
ID ,若直接给value赋ID值,那么前台显示的就是ID值,所以不知道怎么实现。
[解决办法]
帮顶
[解决办法]
1. 有初始值的情况:
主要是配置store的autoLoad : true以及在load以后通过setValue设置value值,这样只要有匹配的value值存在,对应的text值就会显示。
2. 提交value,而非text:
不要用name属性,用hiddenName属性就可以了,这样提交的就是你的value值(也就是你说的教授ID)
代码如下:
var comboA = {
id: Ext.id(),
fieldLabel : "province",
hiddenName: "china.province",
xtype : "combo"
labelWidth : 150,
anchor : "95%",
columnWidth : "33%",
emptyText : "xxx",
editable : false,
allowBlank: false,
store : new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : "cascadingComboTest.biz"
}),
reader : new Ext.data.JsonReader({
root : "comboMix"
}, ["text", "value"]),
remoteSort : false,
baseParams: {region: 1, scopeId: 1},
autoLoad : true,
listeners:{
load: function(){
Ext.getCmp(comboA.id).setValue(2);
}
}
}),
triggerAction : "all",
displayField : "text",
valueField : "value"
}
[解决办法]
herrscher.qiang