combobox

1、使用combobox时,它有一个hiddenName的属性,专门用于提交combobox中value的值.

     现假设某combobox的Id为comboId,hiddenName属性的值为hiddenValue,

     那么,使用Ext.get('comboId').dom.value方法获取的是combobox中选中项的文本text值,

      而使用Ext.get('hiddenValue').dom.value获取的才是combobox中需要提交的value的值。

2、
出现这种情况,赋值给id时在combo中也显示的是id的值,不能将name值显示出来。
 

使用combobox时它的store从后台加载,但这时同时使用setValue('id')时显示出id值,如下面代码

var zsjgStore = new Ext.data.JsonStore({
	fields:zsjgrecord
})
dmzsjgController.getLoginUserCodes(function(data){
			if(data!=null){
				zsjgStore.loadData(data);
							}
		})

{   xtype:'label',
	 text:'选择征收机构:',
	 style:'color:red;'}, 
{
	xtype : 'combo',
	labelSeparator : '',
	width : 120,
	store : zsjgStore,
	typeAhead : true,
	editable : false,
	triggerAction : 'all',
	mode : 'local',
	anchor : '96%',
	minWidth : 60,
	lazyInit : false,
	lazyRender : false,
	id : 'zsjg',
	//name : 'zsjg',
	valueField : 'code',
	displayField : 'name'
}

Ext.getCmp('zsjg').setValue("26101");


/**
store: [ [ '西安市', '26101' ],[ '高新区', '26101980010' ]]
**/

 用以上代码在combobox中显示的是26101,而不是西安市,如果想要让它显示成西安市就需要改造成下面的代码:

var zsjgStore = new Ext.data.JsonStore({
	fields:zsjgrecord
})
dmzsjgController.getLoginUserCodes(function(data){
			if(data!=null){
				zsjgStore.loadData(data);
				Ext.getCmp('zsjg').setValue("26101");
			}
		})

{   xtype:'label',
	 text:'选择征收机构:',
	 style:'color:red;'}, 
{
	xtype : 'combo',
	labelSeparator : '',
	width : 120,
	store : zsjgStore,
	typeAhead : true,
	editable : false,
	triggerAction : 'all',
	mode : 'local',
	anchor : '96%',
	minWidth : 60,
	lazyInit : false,
	lazyRender : false,
	id : 'zsjg',
	//name : 'zsjg',
	valueField : 'code',
	displayField : 'name'
}



/**
store: [ [ '西安市', '26101' ],[ '高新区', '26101980010' ]]
**/

 将赋值写在调用内,出现这样的原因是因为出现异步调用的情况发生,因为js在执行到赋值时store还没有返回到值进行赋值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值