当前位置: 代码迷 >> Web前端 >> 更动comboBox默认值
  详细解决方案

更动comboBox默认值

热度:131   发布时间:2012-10-24 14:15:58.0
更改comboBox默认值

????? 前些时候要写更改下拉列表的默认值,并且更改下拉列表时,动态更改表单中的数据。不过在网上找了不少资料,可惜没找到有参考价值的资料,大部分作者大概没有自己检验过。下面的代码也希望对你有点帮助,绝对原版!

?

//加载下拉列表的值<vId--vTypeName>

var st = new Ext.data.Store({
???
???proxy : this.proxy||new Ext.data.HttpProxy({url:'ui/modules/speedy/cm/VoucherTypeSet/getTcmVoucherTypeSetIdAndVTypeName.action'}),
???reader : new Ext.data.JsonReader({
?????totalProperty:'totalCount',
?????id : "id",
?????root : "result"},
?????[{name : 'vId',???? mapping : 'vId'},
?????{name : 'vTypeName',mapping : 'vTypeName'}]
?????)
??});

----------------------------------------------------------

//下拉列表的定义,名字为‘凭证类型’

this.vouTypeChang = new Ext.form.ComboBox({
???store???????? : st,
???fieldLabel??? : '凭证类型',
???mode????????? : 'local',
???triggerAction : 'all',
???id??????????? :? 'vTypeId',
???name????????? :? 'speedy.cm.tcmVoucherDebSet.vTypeId',
???valueField??? : 'vId',
???displayField? : 'vTypeName',
???hiddenName??? : 'Id',
???forceSelection: true,
???readOnly????? : true,
???width???????? : 200

???????
??});

?

st.load();//加载数据源

-------------------------------------------------------

//设置下拉列表的默认值

??st.on('load',function(store,record,opts){
???

????//第一项值的vId
?????? var fId = store.getRange()[0].data.vId;


???? //这种方法可以获得第一项的值?,也是我们要得到的值???????
?????? this.firstValue =store.getRange()[0].data.vTypeName;
//?????? Ext.Msg.alert('下拉列表的第一个值',this.firstValue);
??????

//设置第一项的值为this.firstValue
?????? this.vouTypeChang.setValue(this.firstValue);

//更改下拉列表的值时,向url传递参数vTYpeId
????? this.store.baseParams.vTypeId=this.firstValue;

//重新加载数据,实现了更改下拉列表时,动态更新表单中的数据
????? this.store.load();

?

???? }.createDelegate(this)? );

  相关解决方案