当前位置: 代码迷 >> Web前端 >> Combox获取输入值text的步骤
  详细解决方案

Combox获取输入值text的步骤

热度:147   发布时间:2012-10-12 10:17:04.0
Combox获取输入值text的方法
  昨天做一个功能,有个Combox和一个按钮,Combox可以选取下拉菜单的值也可以输入,点击按钮的时候获取Combox选中的值或输入的值。
  一开始想都没想就用Ext.getCmp().getValue()获取该Combox的value,如果是下拉菜单就可以取到对应的value,但是如果是手工输入在焦点没离开的时候就点旁边的按钮是获取不到value。焦点离开后就可以取到value。被这个问题烦了一个下午,什么方法都想过了,监听keyup,blur,focus等。但是就是获取不到输入的值。接着研究Combox的源码,发现Ext.getCmp().getValue()是获取Combox的value,而输入的时候是把输入的内容赋给text,焦点没离开的时候并没有把text的赋给value。所以用Ext.getCmp().getValue()是获取不到value的。
  接着用百度,发现到一篇博客:”使用combobox时,它有一个hiddenName的属性,专门用于提交combobox中value的值,现假设某combobox的Id为comboId,hiddenName属性的值为hiddenValue,那么,使用Ext.get('comboId').dom.value方法获取的是combobox中选中项的文本text值,而使用Ext.get('hiddenValue').dom.value获取的才是combobox中需要提交的value的值”
Ext.getCmp().getValue()改为Ext.get().dom.value则成功的获取到输入的text值。
  相关解决方案