【问题标题】:Extjs4 xtype 'combo' not replacing html encoded text with symbolExtjs4 xtype'combo'没有用符号替换html编码文本
【发布时间】:2014-08-22 13:52:02
【问题描述】:

我有使用 xtype 组合生成的选择框。并且此组合的所有选项都是使用某些用户输入的值生成的。服务器将选择框的这些选项作为 html 编码值发送。 我有一个选项为"& lt;anil& gt;",它将被浏览器解析为<anil>

现在,当我单击显示的选择列表中选择框的下拉箭头时,我可以看到正确的解析为“”,但是当我单击此值时,显示的所选值是"& lt;anil& gt;"

我正在使用 extjs4。有什么提示吗?

【问题讨论】:

  • 你能发布完整的代码吗?您还可以查看 Ext.Component.query("#something")[0] 并找到 Raw 值以帮助排除故障。

标签: extjs extjs4.1


【解决方案1】:

您可以像这样更改 xtype 组合的每个值:

先找到id(通过console.log)...

Ext.get('mycomboboxfieID').setValue(Ext.util.Format.htmlDecode(val))

或使用

console.log(Ext.getCmp('yourcomboname').getRawValue()); 并找到正确的指向 setRawValue(Ext.util.Format.htmlDecode(val))

【讨论】:

    【解决方案2】:

    将此添加到组合框并且它起作用了。

    getDisplayValue: function(){
                                    if(this.displayTplData[0]) return Ext.htmlDecode(this.displayTplData[0].mapper_name);// Decode HTML
                                    return this.displayTpl.apply(this.displayTplData);
                                },
    

    【讨论】:

      猜你喜欢
      • 2012-02-19
      • 1970-01-01
      • 2015-04-25
      • 1970-01-01
      • 1970-01-01
      • 2015-01-14
      • 2012-05-18
      • 2021-01-13
      • 1970-01-01
      相关资源
      最近更新 更多