Javascript Ext JS 3.4-在不丢失隐藏值的情况下更新组合框的显示字段
因此,我有一个组合框列表,其中填充了图标,然后是一个小说明。最初,当我选择一个项目时,它会将html作为原始值放入显示中。显然,在显示中使用原始html并不是我想要的,所以我尝试剥离图像标记,并使用其他信息作为原始值 这对显示有效,但显示和值不同。(使用hiddenName字段等)并设置原始值不仅会更新显示字段,还会更新值。这是不能接受的 在选择一个项目时,我解析出图像标签,只想更新显示字段。这里的问题是,我找不到只更新显示字段而不使用隐藏值的方法 如何更新显示字段而不影响隐藏值字段 更新:我试过这个…很近但是没有雪茄Javascript Ext JS 3.4-在不丢失隐藏值的情况下更新组合框的显示字段,javascript,extjs,extjs3,Javascript,Extjs,Extjs3,因此,我有一个组合框列表,其中填充了图标,然后是一个小说明。最初,当我选择一个项目时,它会将html作为原始值放入显示中。显然,在显示中使用原始html并不是我想要的,所以我尝试剥离图像标记,并使用其他信息作为原始值 这对显示有效,但显示和值不同。(使用hiddenName字段等)并设置原始值不仅会更新显示字段,还会更新值。这是不能接受的 在选择一个项目时,我解析出图像标签,只想更新显示字段。这里的问题是,我找不到只更新显示字段而不使用隐藏值的方法 如何更新显示字段而不影响隐藏值字段 更新:我试
select: function() {
console.log(this.el.dom.value);
this.el.dom.value = 'test';
}
这将显示字段更新为“测试”,但出于某种神奇的原因,当我点击组合框时,它将我的隐藏值设置为与我的显示值相等……有什么想法吗
更新2:我还尝试挂起组合框上的所有事件,方法是将此.suspendEvents()放在select侦听器的末尾…仍然无法挂起。我一辈子都搞不懂为什么隐藏的值会在框模糊时发生变化。我已尝试以蓝色返回false并更改侦听器事件…preventDefault无效。如果您查看此链接: 有函数
**setValue:function(value,doSelect){…**
它在某处有以下几行::
me.setHiddenValue(processedValue);
me.setRawValue(me.getDisplayValue());
这些台词在发挥你提到的神奇作用
现在,为了解决您的问题,我想您可以这样做:
select: function() {
console.log(this.el.dom.value);
var actualValue = this.el.dom.value;
this.el.dom.value = 'test';
this.setRawValue(actualValue );
this.setHiddenValue(actualValue);
}
希望这能有所帮助,不过我还没有测试过代码!感谢您尝试了“神奇的东西”我要说的是,当我模糊组合框时,它会将隐藏值更改为组合框显示的任何内容。我实现了您的代码,以防我遗漏了一些内容,并且发生了相同的事情。当我选择一些内容时,它工作得很好…但一旦我模糊组合框,隐藏值就会更改为一些内容我没说清楚吗?你们有什么要我补充的,可以帮助我们得出结论吗?