0
 xtype:          'combo',
 mode:           'local',
 value:          '1',
 allowBlank:      false,
 triggerAction:  'all',
 forceSelection: true,
 editable:       false,
 fieldLabel:     'Is This Your Territory?',
 name:           'is_territory',
 hiddenName:     'is_territory',
 displayField:   'name',
 valueField:     'id',
 width: 230,
 store:          yesnoStore,

这是我的代码。为什么这没有显示在 ie 中。

4

3 回答 3

0

即使语法正确,这也不起作用。ExtJS 3.3.1(已确认)及以下(假设)在 IE9 中存在错误。IE 在页面加载时将组合框的高度设置为 0。

我尝试了以下更改但没有成功:

  • 在配置中将高度设置为固定大小
  • 为组合框列表的类创建自定义 CSS 并设置高度
  • 为代表列表的 HTML 元素的 ID 创建自定义 CSS 并设置高度

到目前为止我发现的唯一解决方案:

升级到 ExtJS 3.4.0 或更高版本。这将修复此错误以及与 IE9 相关的许多其他错误。

如果您转到 sencha 示例并查看带有 IE9 的 3.3.1 组合框示例,它将无法正常工作。如果您检查 3.4.0 中的组合框示例,它适用于 IE9。

不幸的是,对我来说这不是一个选项,所以我将继续寻找另一个不涉及升级的解决方案。

希望这可以帮助。

于 2014-10-29T18:44:17.327 回答
0

如果您粘贴了完整的配置,错误可能来自额外的逗号:

{
    xtype: 'combo',
    mode: 'local',
    value: '1',
    allowBlank: false,
    triggerAction: 'all',
    forceSelection: true,
    editable: false,
    fieldLabel: 'Is This Your Territory?',
    name: 'is_territory',
    hiddenName: 'is_territory',
    displayField: 'name',
    valueField: 'id',
    width: 230,
    store: yesnoStore, // < remove this comma
}
于 2013-03-05T12:37:59.013 回答
0

我检查了你的代码,它在 IE 上运行。你在定义你的yesnoStore商店吗?或者,也许它只是代码末尾的额外逗号:yesnoStore,,删除它。

在您的脚本中包含一个商店,并且该组合可以正常工作:

var yesnoStore = new Ext.data.ArrayStore({
    fields: ['id', 'name'],
    data : [['0','option_1'],['1','option_2'],['2','option_3'],['3','option_4']]
});

此示例在 IE 上运行,可能问题出在您的商店中。

{
        xtype: 'combo', 
        mode: 'local',
        value:'1',
        allowBlank: false, 
        triggerAction: 'all', 
        forceSelection: true, 
        editable: false, 
        fieldLabel: 'Is This Your Territory?', 
        name: 'is_territory', 
        hiddenName: 'is_territory', 
        displayField: 'name', 
        valueField: 'id', 
        width: 230, 
        store: yesnoStore
    }
于 2013-03-04T11:38:23.617 回答