Combobox 在选择extjs4的组合框中显示空间字符

Combobox 在选择extjs4的组合框中显示空间字符,combobox,extjs4,extjs4.1,extjs4.2,extjs-mvc,Combobox,Extjs4,Extjs4.1,Extjs4.2,Extjs Mvc,我想在combobox中显示特殊的西班牙语字符,如á、Á、ã、Ã。因此,我在locale文件、Inglés和Español等中为其编写了代码。当我打开下拉列表时,它会正确显示单词,但当我选择它时,它会在框中显示代码。boxLabels也会发生类似的情况,它显示的是代码而不是特殊字符。有人能给我一个解决办法吗? 多谢各位 出现此问题的原因是,列表中的元素呈现为div(因此html实体起作用),而值框呈现为输入(实体不起作用)。显示国家字符的最简单方法是用实际的unicode字符替换实体。您可以

我想在combobox中显示特殊的西班牙语字符,如á、Á、ã、Ã。因此,我在locale文件、Inglés和Español等中为其编写了代码。当我打开下拉列表时,它会正确显示单词,但当我选择它时,它会在框中显示代码。boxLabels也会发生类似的情况,它显示的是代码而不是特殊字符。有人能给我一个解决办法吗? 多谢各位


出现此问题的原因是,列表中的元素呈现为div(因此html实体起作用),而值框呈现为输入(实体不起作用)。显示国家字符的最简单方法是用实际的unicode字符替换实体。您可以通过重写
setRawValue
方法来实现:

Ext.define('Ext.ux.form.ComboBox', {
    extend: 'Ext.form.ComboBox',
    setRawValue: function(value) {
        this.callParent([ decodeEntities(value) ]);
    }
});

Fiddle:

你能发布你的代码吗?我感兴趣的是id的值与组合的值,以及“选择”后的值是什么。它给出了这个错误:uncaughtreferenceerror:decodeEntities没有定义,因为您应该定义它。这只是一个片段,不是有效的解决方案。工作示例在链接下。