0

我有一个包含一组值的组合框,

Ext.define('loincList', {
            extend: 'Ext.data.Model',
            fields: [{ name: 'loincNumber', mapping: 'loincNumber' },
                     { name: 'component', mapping: 'component' }            
            ]
        });    

ds = Ext.create('Ext.data.Store', {
            model: 'loincList',
            proxy: {
                type: 'ajax',
                url : url+'/lochweb/loch/LOINCData/getLOINCData',
                reader: {
                    type: 'json',
                    root: 'LOINCData'
                }
            }
        });

组合框:

{
        xtype: 'combo',
        fieldLabel: 'Search Loinc Code',
        name: "loincId",       
        displayField: 'loincNumber',                    
        valueField: 'id',
        width: 400,                 
        store: ds,
        queryMode: 'local',
        allowBlank:false,
        listConfig: {
            getInnerTpl: function() {
                return '<div data-qtip="{loincNumber}.{component}">{loincNumber} {component} {status}</div>';
            }
        }

    }

当我在组合框中输入数字时,它会根据输入的数字进行过滤,但是当我输入文本时,它不会根据输入的文本进行过滤。如何根据输入的文本进行过滤。

4

2 回答 2

0

过滤在服务器端工作,如果你打开像 Firebug 这样的东西,你会看到特殊的参数(通常命名为过滤器)和你在控件中输入的文本,所以你需要检查你的服务器端发生了什么。您需要在服务器端处理过滤器文本并根据需要制作过滤器。

于 2012-05-11T12:07:04.360 回答
0

当您将数据键入组合框时,它将根据displayField. 因此,我认为当您“键入文本时,它不会根据输入的文本进行过滤”,因为组合中的任何项目都没有displayField与您键入的文本一样的前缀。

于 2012-05-13T16:43:03.477 回答