2012-05-11 3 views
0

у меня есть поле со списком со списком набор значений,ExtJs: Фильтр поиска в комбинированном окне

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>'; 
      } 
     } 

    } 

, когда я введите число в поле со списком его фильтр, основанный на введенном числе, но когда я набираю текст, он не фильтруется на основе введенного текста. Как фильтровать на основе введенного текста.

ответ

0

Когда вы вводите данные в поле со списком, оно будет фильтроваться на основе displayField. Поэтому я думаю, что когда вы «набираете текст, который не фильтруется на основе введенного текста», потому что никакие элементы в комбо не имеют displayField с префиксом, как текст, который вы набрали.

0

Фильтрация работает на стороне сервера, если вы включите что-то вроде Firebug, вы увидите специальный параметр (обычно называемый фильтром) с введенным в текст текстом, поэтому вам нужно проверить, что происходит на вашей стороне сервера , Вам нужно обработать текст фильтра и сделать фильтры, как вы хотите, на стороне сервера.

+0

Нет, это не фильтрация на стороне сервера. Это поле со списком Extjs, которое обеспечивает фильтрацию, на что я надеюсь. – user1321824

Смежные вопросы