weixin_42322952 2009-08-11 10:16
浏览 215
已采纳

关于combo的问题.

一个combo是由一个div和一个input组成的.

在combo里比如说n条数据.其中有一条是id:1,value:fds

着时候着条数据因为value是带特殊字符,所以在combo的下拉的div中什么都不显示.但选种后显示到input里的时候,显示正常.

(别说ext对特殊字符的处理很好.也别说不信.不信你自己实验下。保证出问题.)

---------------------------------分割线--------------------

着时候我想了另外一个办法.
把fds写成<script>fds</script>
这样编码以后div显示正常了.但input里就变成编码以后的字符了.显示成<script>fds</script>了.

---------------------------------分割线--------------------

我又想了第2个办法.
在select的时候加个监听.强行设置value的值.
结果也不行.input里跟本就不执行我写的.

----------------------------------终结----------------------

我觉得是div显示和input显示的效果不同的问题.实在没有好方法了。

  • 写回答

2条回答 默认 最新

  • iteye_10013 2009-08-11 11:21
    关注

    没解决问题就关闭咯,不要乱结帖,你不舒坦我也不舒坦.

    有兴趣可以去看下combo的源码, 下拉框实际上就是一个DataView+XTemplate.
    下拉的数据会写入到一个div去,你里面有html标签,自然会被浏览器解析.所以要转码.
    显示到input正常是因为设置的是value,不会被解析.

    [code="javascript"]

    var c = new Ext.form.ComboBox({
    fieldLabel:'xx',
    displayField:'name',
    valueField:'value',
    mode: 'local',
    triggerAction: 'all',
    store:new Ext.data.SimpleStore({
    fields:['name','value'],
    data:[['xx','1'],[' ','2']]
    }),
    //values.name中的name就是displayField
    tpl:'

    {[Ext.util.Format.htmlEncode(values.name)]}
    '
    })
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 C# datagridview 栏位进度
  • ¥15 vue3页面el-table页面数据过多
  • ¥100 vue3中融入gRPC-web
  • ¥15 kali环境运行volatility分析android内存文件,缺profile
  • ¥15 写uniapp时遇到的问题
  • ¥15 vs 2008 安装遇到问题
  • ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改