1

我使用 tpl 为组合框添加了快速提示(工具提示),如下所示,

'<tpl for="."><div ext:qtip="{text}" class="x-combo-list-item">{text}</div></tpl>'

但添加后,组合框不会标记(蓝色)选定的条目。即,在我添加工具提示之前,所选条目可以被视为已标记或已选中(对我来说是蓝色)。但现在它不起作用(选定的实体没有被选中)。这是我的代码,

            {           
              name          : name,
              hideOnSelect  : false,
              triggerAction : 'all',
              mode          : 'local',
              width         : size,
              tpl           :'<tpl for="."><div ext:qtip="{text}" class="x-combo-list-item">{text}</div></tpl>',
              store         : new Ext.data.SimpleStore({
              id                : 0,
              fields            : ['value','text'],
              data          : data
              }),
              listWidth     : 400,
              valueField    : 'value',
              displayField  : 'text'
            }

在此处输入图像描述<---之前 在此处输入图像描述<---之后

必须感谢任何帮助...谢谢。

4

2 回答 2

1

displayTpl也应该工作:

{           
      name: name,
      hideOnSelect: false,
      triggerAction: 'all',
      mode: 'local',
      width: size,
      store: new Ext.data.SimpleStore({
          id: myCombo,
          fields: ['value','text'],
          data: data
      }),
      listWidth: 400,
      valueField: 'value',
      displayField: 'text',
      displayTpl: '<tpl for="."><div ext:qtip="{text}">{text}</div></tpl>'
}

更新

发现问题!您必须先启动 QuickTips。您的其余代码都很好!这是一个工作小提琴

Ext.QuickTips.init();
var cb = new Ext.form.ComboBox({
    name: name,
    hideOnSelect: false,
    triggerAction: 'all',
    mode: 'local',
    width: 200,
    store: new Ext.data.JsonStore({
        id: "myCombo",
        fields: ['value', 'text'],
        data: [
            { value: 1, text: 'one'},
            { value: 2, text: 'two'},
            { value: 3, text: 'three'}
        ]
    }),
    listWidth: 250,
    valueField: 'value',
    displayField: 'text',
    renderTo: Ext.getBody(),
    tpl: '<tpl for="."><div ext:qtip="{text}" class="x-combo-list-item">{text}</div></tpl>'
});
于 2012-11-26T11:00:10.730 回答
0

你能试试这个吗...

        {           
          name          : name,
          hideOnSelect  : false,
          triggerAction : 'all',
          mode          : 'local',
          width         : size,
          store         : new Ext.data.SimpleStore({
          id                : myCombo,
          fields            : ['value','text'],
          data          : data
          }),
          listWidth     : 400,
          valueField    : 'value',
          displayField  : 'text',
          listConfig: {
               getInnerTpl: function() {
                 return '<div data-qtip="{text}">{value}</div>';
               }
           }

        }
于 2012-11-26T06:41:01.120 回答