extjs中valuefield多值_解决Extjs中Combobox显示值和真实值赋值问题

用过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来放置的。既然这样那我就用Ext.get()方法来试试,最终发现确实可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在EasyUI,一些组件比如`combobox`、`datagrid`等,都有`valueField`、`textField`和`multiple`属性。这些属性的作用如下: 1. `valueField`:设置组件的字段名。当用户从下拉列表选择一个选项时,这个选项的`valueField`字段的会被设置到组件。比如,如果设置了`valueField: 'id'`,那么选的选项`id`字段的会被设置到组件。 2. `textField`:设置组件显示文本的字段名。当用户从下拉列表选择一个选项时,这个选项的`textField`字段的会被显示到组件。比如,如果设置了`textField: 'name'`,那么选的选项`name`字段的会被显示到组件。 3. `multiple`:设置组件是否支持多选。如果设置为`true`,那么用户可以选择多个选项,组件的会以数组的形式存储。如果设置为`false`,那么用户只能选择一个选项,组件的会以单个的形式存储。 举个例子,假设我们有一个下拉列表,其包含以下三个选项: ```javascript [ {id: 1, name: 'Option 1'}, {id: 2, name: 'Option 2'}, {id: 3, name: 'Option 3'} ] ``` 如果我们想要将选的选项的`id`字段的作为组件的,将选的选项的`name`字段的作为组件的显示文本,那么可以这样设置: ```javascript $('#myCombo').combobox({ valueField: 'id', textField: 'name', multiple: false, data: [ {id: 1, name: 'Option 1'}, {id: 2, name: 'Option 2'}, {id: 3, name: 'Option 3'} ] }); ``` 在上面的代码,我们设置了`valueField: 'id'`,`textField: 'name'`,`multiple: false`,这样当用户从下拉列表选择一个选项时,组件的会被设置为选选项的`id`字段的,而组件的显示文本会被设置为选选项的`name`字段的

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值