`
atian25
  • 浏览: 470006 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ExtJS Combo 下拉列表正常显示HTML标签内容

阅读更多

解决问题:

http://www.iteye.com/problems/22617

http://www.iteye.com/problems/22681

 

原问题是,需要在combo上显示一些HTML标签,如 <a/><TestTag>xxx</TestTag>

 

 

1. 如果简单的使用combo的话,会如下图


2. 换个思路,把store里面的东西转码下看看?

var c = new Ext.form.ComboBox({
  fieldLabel: 'HTML标签',
  displayField: 'name',
  valueField: 'value',
  mode: 'local',
  triggerAction: 'all',
  store: new Ext.data.SimpleStore({
    fields: [{
      name: 'name',
      convert: function (v) {
        return Ext.util.Format.htmlEncode(v);
      }
    },
    'value'],
    data: [['xx', '1'], ['<MyTag /> ', '2']]
  })
})

 发现还是出问题了,如图



问题的原因同学们可以看下Combo的setValue方法.

 

3. 于是我们可以看下Combo的源码,其实下拉列表就是一个DataView.

所以我们可以考虑在XTemplate这里做手脚

  var c = new Ext.form.ComboBox({
    fieldLabel:'HTML标签',
    displayField:'name',
    valueField:'value',
    mode: 'local',
    triggerAction: 'all',
    store:new Ext.data.SimpleStore({
      fields:['name','value'],
      data:[['xx','1'],['<MyTag /> ','2']]
    }),
    //这里的values.name中的name就是displayField中的值,自己修改
    tpl:'<tpl for="."><div class="x-combo-list-item">{[Ext.util.Format.htmlEncode(values.name)]}</div></tpl>'
  })

 

如图,搞定:


 

//tz

 

  • 大小: 8.1 KB
  • 大小: 9.6 KB
  • 大小: 6.1 KB
分享到:
评论
3 楼 atian25 2010-04-28  
elvishehai 写道
附个源码吧,呵呵,我也在做过,比较一下,都是JS来着

?
2 楼 elvishehai 2010-04-28  
附个源码吧,呵呵,我也在做过,比较一下,都是JS来着
1 楼 qqandoo 2010-01-10  
[u][/u]
引用
[/size]ll]

相关推荐

    extjs2.0 下拉列

    在本例中,我们将重点讨论如何在 ExtJS 2.0 中实现下拉列表功能。 下拉列表在 Web 应用程序中非常常见,通常用于提供可选的选项供用户选择。在 ExtJS 中,下拉列表可以通过创建 `Ext.form.ComboBox` 实现。这个组件...

    extjs3.x combobox智能联想

    在EXTJS 3.x版本中,Combobox是一个非常实用的组件,它提供了下拉列表功能,用户可以在输入框中输入文字,系统会根据输入内容自动进行模糊匹配,给出相关的建议选项。这种功能在数据筛选、搜索或者选择项较多时特别...

    extJs 文本框后面加上说明文字+下拉列表选中值后触发事件

    在这个例子中,我们看到一个EXTJS的表单面板`Ext.FormPanel`被用来展示一个包含文本框、下拉列表和标签的布局。这个表单面板具有丰富的样式配置,例如`border`、`bodyBorder`和`frame`属性,使得表单看起来更加精致...

    ExtJs组件类的对应表

    3. **`combo`** - `Ext.form.ComboBox`,下拉框组件,用于创建下拉选择框。 4. **`datefield`** - `Ext.form.DateField`,日期选择项,用于输入日期。 5. **`timefield`** - `Ext.form.TimeField`,时间录入项,...

    extjs中的xtype的所有类型介绍

    ExtJS 中的 xtype.typename 介绍 ExtJS 中的 xtype 是一个非常重要的概念,它用于定义组件的类型,从而确定组件的行为和样式。xtype 是 ExtJS 的核心组件之一,它提供了大量的组件类型,满足不同场景下的需求。 ...

    extJs xtype 类型

    3. **`combo`:** 下拉框组件,用于创建下拉列表,通过`Ext.form.ComboBox`类实现。 4. **`datefield`:** 日期选择项组件,用于让用户选择日期,通过`Ext.form.DateField`类实现。 5. **`timefield`:** 时间录入项...

    ExtJs xtype一览

    - **`combo` (Ext.form.ComboBox)**: 下拉框组件,提供了一个下拉列表供用户选择。 - **`datefield` (Ext.form.DateField)**: 日期选择项组件,用于输入日期值。 - **`timefield` (Ext.form.TimeField)**: 时间录入...

    Extjs xtype集合

    ### Extjs xtype集合详解 #### 一、基本概念与背景 在Extjs开发过程中,`xtype`(扩展类型)是极为重要的一个概念。它实际上是一种类型标识符,用于快速创建特定类型的组件实例。通过使用预定义的`xtype`值,...

    GoodProject Maven Webapp.zip

    jQuery EasyUI 提供了用于创建跨浏览器网页的完整的组件集合,包括功能强大的 datagrid(数据网格)、treegrid(树形表格)、 panel(面板)、combo(下拉组合)等等。 用户可以组合使用这些组件,也可以单独使用其中一个。 ...

Global site tag (gtag.js) - Google Analytics