Иногда вам нужно выбрать диапазон дат в extJ, который требует автоматического суждения. Выбранная дата начала не может быть больше, чем дата окончания, или дата окончания не может быть меньше, чем дата начала. Реализованный код выглядит следующим образом
Изображение воспроизведения:
Как видно из рисунка выше, когда выбирается время начала, диапазон выбора времени окончания будет автоматически ограничен, и будет реализована связь между двумя селекторами даты.
Код заключается в следующем:
Сначала определите функцию обработки связи:
Ext.Apply (ext.form.field.vtypes, {periodainge: function (val, field) {var date = field.parsedate (val); if (! Date) {return false;} if (field.startdatefield && (! This.daterangemax || (date.gettime ()! Field.up ('Grid'). Down ('#' + Field.startdatefield); field.up ('grid'). Down ('#' + field.endatefield); end.setminvalue (дата); end.validate (); this.daterangemin = date; } вернуть true; }, periorAngeText: 'Дата начала должна быть меньше, чем дата окончания'}); Ext.tip.quicktipmanager.init ();Добавьте элементы в TBAR, BBAR или в форме:
{xtype: 'datefield', fieldlabel: 'range range start', name: 'startdt', id: 'startdt', vtype: 'daterange', enddatefield: 'enddt', формат: 'ym-d', width: 220, labelwidth: 90, mstarget: '', Autofiterrors: 'xtyfiret: FieldLabel: «End», имя: «enddt», id: 'enddt', vtype: 'daterange', startdatefield: 'startdt', формат: 'ym-d', ширина: 170, labelwidth: 40, msgtarget: 'side', AutoFiterrors: false}, {xtype: 'Button', 'Qued:' qued: 'qued:' qued: 'quemon:' Querscl: 'quersl: 'fljs', Handler: function () {...Этот код может быть скопирован в extjs4.1.1, чтобы запустить