extjs中valuefield多值_Extjs中对combobox赋值时,如何在对displayfield赋值时使其valuefield也正确赋值呢?...

请教各位大侠,我在Extjs表单的初始化和提交中遇到了Combobox赋初值并提交的矛盾:具体细节是这样的:前提:该combox定义valueField为Id,displayField为Name,name定义为Id,后台需要...

请教各位大侠,我在Extjs表单的初始化和提交中遇到了Combobox赋初值并提交的矛盾:

具体细节是这样的:

前提:该combox定义valueField为Id,displayField为Name,name定义为Id,后台需要获得Id

情况1:若我使用XX.XX.setValue(Name)或XX.XX.setRawValue(Name)进行赋值,则表单显示正常,但若不对

该combox做任何操作就提交时(下同)获取的是Name(实质应该获取的是Id);

情况2:若我使用XX.XX.setValue(Id)进行赋值,页面打开时,若Id不为0时,Combox会正常显示displayfield

的值,但会引发Combox不能为空的验证,即明明combox有值却提示该处不能为空,虽然也能正常提

交,但是页面显示不正常;若遇到Id为0时,则Combox无法显示displayfield的值(store中有Id为0的

record);

情况3:若我同时使用以上两种方法先后进行赋值,则后使用的方法会覆盖前面的方法,即根据使用顺序不同

出现两种异常情况的一种。

对于情况1,只要在XX.XX.setRawValue(Name)后使该combox正确获取store中的value值就行了;

对于情况2,只要在XX.XX.setValue(Id)时不引发combox本身的为空验证就行了。但是我不知道有什么方法可以实现,百度了也没有找到(改变name和hiddenName的设置也没有效果), 请教各位大侠,我该怎么破呢?若能解决,感激涕零。(财富值只有20了,请大家不要嫌弃)

谢谢大家了,我已经知道怎么解决了,采用情况2中的赋值方法,但需要在改赋值语句之前load该combobox的store,就不会出现验证为空的红线

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值