用过Extjs的朋友相信都知道在Extjs的Combobox组件中是由两个值来组成的。一个是displayField这个是用来显示给我们看 的,而另一个是真正给系统用的valueField,举个例子会更贴切一点。假如我们有一个下拉列表是公司选择,那我们看到的option中的值应该是公 司的名称,而实际提交给系统的值可能是公司的ID或者编码之类的。而Extjs中的combobox也是同样的道理,但是它只提供了一个 setValue()函数,我们在调用的时候发生的结果就是要么显示的值和真实的值同是id,或者同是名称。虽然同是id的时候系统可以正常运行,但这样 用户交互就显示的友好了。相信大家都不明白你的1,2,3,代表首什么。

  在网上查了一下,有的朋友说可以用setvalue()/setRawValue( Mixed value ) 来分别完成,事实上我试了一次并没有成功。查了下API中的解释。

setRawValue( Mixed value ) : Mixed
跃过验证直接设置DOM元素值。需要验证的设值方法可以查看setValu...
跃过验证直接设置DOM元素值。需要验证的设值方法可以查看setValue。Sets the underlying DOM field's value directly, bypassing validation. To set the value with validation see setValue.

  如果我没有理解错的话这里应该是用于跳过验证赋值的,也就是说你本来有些因为验证不能通过的值可以通过这个函数来设置。(这里搞不懂为什么Ext官方会给这样一个函数,既然都是不能验证的那干嘛还要赋值)。

  在使用firebug分析生成的页面的时候,发现真实的值是用一个隐藏的input来放置的。<input type=”hidden” id=”assistInfo.pid.id” name=”assistInfo.pid.id” value=”9″>既然这样那我就用Ext.get()方法来试试,最终发现确实可以使用Ext.get()和form.getForm().findField()来分别赋值,考虑Ext.get()会造成新的内存损耗,故使用Ext.fly()代替,最终代码如下:

    win.form.getForm().findField('assistInfo.pid.id').setValue(config.curr.node.text);Ext.fly('assistInfo.pid.id').dom.value=config.curr.node.id;

2010-10-08 最新修改,以上这个方法还是有个问题。当你的 cbx获得焦点而又没有修改的时候,在离开时会将你的displayField的值填充给valueField这样的话同样会造成系统错误。而较好的解决 办法为:使用Ext.data.Record.create({})去构建一个combobo的数据对象,并将这个值填充到combobo的 dataStore中,最后再调用setvalue这样就可以完美地解决combobox初始值的问题了。

Ext.getCmp('userid').setRawValue(otherName);
Ext.getCmp('userid').setValue(otherId);
这样可以设置默认的name 和id了

解决Extjs中Combobox显示值和真实值赋值问题相关推荐

  1. vue el-element中el-select的el-option选中值,但页面框中不显示值,需要输入一个其他框值才显示,input同理

    问题描述: el-element中el-select的el-option选中值,但页面框中不显示值,需要输入一个其他框值才显示.或者解决input无法输入值. //在el-select中写一个事件 @ ...

  2. ExtJs中ComboBox使用之技巧

    在ExtJs中,想要提交ComboBox的Value,需要设置hiddenName:  1 xtype: 'combo',  2                                     ...

  3. 解决Extjs中textarea不支持keyup事件的问题

    最近用到Ext.form.textarea, 在监听事件中添加了keyup事件,并将enableKeyEvents属性设为true,但并不执行该事件,不知道是什么原因? Ext.form.textfi ...

  4. extjs 中动态给gridpanel 复选框赋值

    最近在搞extjs时需要动态根据数据给gridpanel的复选框赋值 网上看了很多 ,多不行,最后找到一个好使的方法 如下: RBACformPanel.getSelectionModel().sel ...

  5. WinForm中ComBoBox绑定显示值和实际值

    在ASP.NET中ComBoBox可以绑定显示值和实际值,但是在Winform中却是没有的(通过DataSource绑定数据源的时候是可以的,但是有null值和空值的限制) (所有代码均从实际项目中截 ...

  6. ComboBox的真实值和显示值

    一.类型 /// <summary> /// 下拉框值类型 /// </summary> public class TextAndValue { /// <summary ...

  7. 基础SQL Server 操作问题——仅当使用了列表并且IDENTITY_INSERT为ON时,才能为表中的标识列制定显示值

    在表中插入多条字段 问题一:仅当使用了列表并且IDENTITY_INSERT为ON时,才能为表中的标识列制定显示值 解决方法: 执行: SET IDENTITY_INSERT 表名 ON    //设 ...

  8. 报表中利用隐藏列对扩展格显示值求和

    在润乾报表中,获取报表中单元格显示值的函数是disp(),然而这个函数却无法计算扩展单元格的显示值.从而无法直接对扩展个显示值求和. 在下图中,需要计算D3单元格的显示值之和. D3值为:ds1.再订 ...

  9. c#(winform)中ComboBox和ListBox添加项完全解决

    c#(winform)中ComboBox和ListBox添加项完全解决 c#(winform)中ComboBox和ListBox添加项完全解决 刚开始用.net 的winform开发,发现好些控件都很 ...

最新文章

  1. 成功解决TypeError: data type ‘category‘ not understood
  2. 怎么搞技术呢?我觉得最简单的方法
  3. Linux的phpize
  4. Android 系统(43)---HTTPS
  5. 【java】Thread.Sleep(0) 与 Thread.onSpinWait
  6. python工资一般多少西安-Python面试经验分享——西安贝业思数据
  7. powershell ise好字库和diy配色文件分享
  8. java连接mysql-8.0.11且成功读写
  9. 关联规则挖掘之FPGrowth算法实现
  10. 31、当当图书榜单爬虫
  11. 自主导航系列21-layered论文阅读
  12. 36种漂亮的CSS3网页按钮Button样式
  13. Android高手笔记 - 卡顿优化
  14. Stata数据统计分析软件v16.0版本更新
  15. redhat oracle 12c 安装图解,RedHat 7 静默安装Oracle 12c
  16. 如何对接payjs的个人微信扫码支付接口
  17. Intel汇编-LOOP循环检查ECX含零值
  18. 比心app源码,html 获取时间
  19. [noip2016]天天爱跑步
  20. C/S 和 B/S 模式的区别与联系

热门文章

  1. 经典C语言程序100例之五六
  2. vue require动态路径图片报错_Vue 动态生成路由结构
  3. Solr Admin中带高亮查询,带score查询;edismax的mm查询
  4. solr4.10和solr5.x ik分词器配置,(Deprecated--2017-04-23)
  5. VMware中的桥接模式、NAT(网络地址转换模式)、Host-only(主机模式):转自:http://blog.chinaunix.net/uid-11798538-id-3061551.html
  6. mysql 体系结构不匹配_指定的DSN包含驱动程序和应用程序之间的体系结构不匹配...
  7. 语义分割 | segnet 制作自己的数据,如何训练,如何测试,如何评价
  8. QT、QTE、qtopia区别
  9. 酷客多基金在济南大学成立“酷客多奖助学金“
  10. 2018-2019-1 20165330 《信息安全系统设计基础》第二周学习总结