Extjs多选下拉框01

装载插件,页面引入js后,即可向其他组件一样直接使用:

{
							layout:'form',
							plain: true,
							items:[{
								fieldLabel:'多选下拉框',
								triggerAction:'all',
								id:'multselect',
								name:'multselect',
								xtype: 'lovcombo',
								emptyText:'**请选择**',
								width:100, 
								mode : 'local', //设置数据已经读取到本地了  
								valueField : 'value', 
								displayField : 'value', 
								store : _ptypestore
									}]
							}


但是这个插件有个问题,你选择多个值以后,当你点击页面其他区域的时候,你所选的值会消失,文本框只有第一个值。看了下源代码,暂时没找到根本原因。找了个凑合用的方法。

出现bug的原因是你点击弹出的文本域以外的任何地方,js都进行了重新赋值,所以我在对它赋值的时候加了个判断,根据这个来判断是否要重新赋值。如下:

在XXX.lovcombo.js文件里,找到setValue:function(v) 方法。

将其改成setValue:function(v, index) ,然后在判断,当index等于什么时候进行里面的赋值操作。

同时更改onSelect:function(record)事件为onSelect:function(record, index),注意:当它在设值setValue时,记得要多加一个参数。

如果要调用其他方法,类似的进行更改就是了。

另外要注意的是在页面要对文本框进行设值时,也要多加后面的index参数才行,eg:Ext.getCmp("XXX").setValue("","OK");

插件使用说明完结。---------------------但是这种方法治标不治本,只是因为时间紧凑合着用。现在我找到更好的方法。见另一偏文章---------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值