2015-06-04 3 views
3

У меня есть выпадающий с данными из магазина:Сравнить даты выпадающего списка с текущей датой

fields: [ 
    {name: 'name', type: 'string'}, 
    {name: 'createDate', type: 'string'} 
] 

поля 'createDate' имеет формат "03.05.2015", этот ComboBox выводит только поле 'name':

{ 
    xtype: 'combobox', 
    fieldLabel: 'NameText', 
    store: 'storeofnames', 
    queryMode: 'local', 
    displayField: 'name', 
    valueField: 'id' 
} 

Я хочу следующее:

Вывод combobox: name + (если дата в поле createDate>= текущая дата) добавить данные combobox из 'createDate'.

+0

Вы не должны хранить ваши даты в виде строки, это сложнее для работы с датой, если это не настоящая дата. Если у вас есть дата, вы можете сравнить ее в 'displayTpl' так:' displayTpl: '{name} {createDate}' ' – MarthyM

ответ

1

Вы можете сделать этот трюк: в вашей модели добавить пункт как:

{ 
    name: 'display', 
    mapping: function(rec) { 
     return rec.name + (new Date(rec.createDate) >= new Date() 
      ? ' ' + rec.createDate 
      : ''); 
    } 
} 

И в вашем displayField изменения поле со списком:

displayField: 'display' 
Смежные вопросы