- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ComboBox 要注意的几个小问题
ComboBox 要注意的几个小问题 -- 值跑位,值显示,获取输入值
2010年08月11日 星期三 12:59
在Extjs中,使用到ComboBox总会出现一些小问题,找半天都找不出来原因,下面就是几个要注意的。。
1。ComboBox加载数据之后,ComboBox里面的值跑位,不能正确对应到ComboBox里面。原因:因为要传name的值到服务器端,使用到了隐藏属性hiddeName来传值,hiddenName的名是要和name一样的。如果id和name设置为相同的,就会不能正确对应。所以,comboBox的id和name 不能设置一样new Ext.form.ComboBox({id:comboId,name:comboName,hiddenName:comboName});
//注意:加了HiddenName这个属性,得到的ComboBox是它的id,反则是显示值。。
2。 第二个问题是明明已经加载了数据之后store里面也有值,确没有再ComboBox里面显示,这个你就要注意你的ComboBox里面有没有设置valueField 和 displayField, valueField绑定到当前底层数据,相当于它的id,displayValue,绑定到当前底层数据对应的名词,顾名思义也就是显示出来的值。还要注意一下,它的映射是否也有写,field 里面是否写正确了。如果这两个属性没有,那就是值怎么也显示不出来的。还有一点是,得到的值从服务器端传回来,一定要记得有response.getWrite().print(json格式值); 有时前台都写正确了,但是还是没值,那就是没有将值传到前台
store : new Ext.Data.Store({
proxy: new Ext.Data.httpProxy({}),
reader:new Ext.data.JsonReader({});
field:[valueid,displayName]
});
new Ext.form.ComboBox({id:comboId,name:comboName,hiddenName:comboName,
store:store
valueField:valueid , //要跟field里面对应,不然不能正确匹配
displayField:dispalyField});
3. 获取ComboBox手动输入的值。手动输入的值是没有完全设置到ComboBox中value里面的,所以当我们去获取的时候,得到都是一个空字符串。
listeners : {render : function(f) {f.el.on(keyup, function(e) {f.setValue(f.getRawValue());vipSxy = new Ext.data.HttpProxy({url : vip_realtimeVipName.action?vipID=+ f.getRawValue()});vipStore.load();});}
这几个问题总会一不小心就会碰到,要多加注意了。。 Extjs ComboBox keyup事件取不到输入值的问题
2010-12-22 16:24:26| 分类: Extjs | 标签:extjs combobox getvalue()取不到输入值 |字号大中小 订阅
listeners监听键盘keyup事件时,使用getValue()方法,总是取不到人工填写的值。当时我就是想根据用户输入的快捷键值,自动显示选项!以前做项目时用ComboBox的时候也碰见这个问题,一直没找到到原因,很是郁闷…. xmlnamespace prefix =o ns =urn:schemas-microsoft-com:office:office /
解决方案:使用getRawValue()来代替getValue()方法取值
listeners:
{
keyup: function(textfield, e) {
var value = textfield.getRawValue(); //使用getValue()取不到用户输入的值
if (value == 1) {
textfield.setValue(有);
}
else if(value==0)
{
textfield.setValue(无);
}
}
}
问题分析:
首先我们来看一下API:
getRawValue() : Mixed
Returns the raw data value which may or may not be a valid, defined value. To return a normalized
文档评论(0)