extjsで日付範囲を選択する必要がある場合がありますが、これには自動判断が必要です。選択した開始日は、終了日より大きくすることはできません。また、終了日は開始日よりも少なくなりません。実装されたコードは次のとおりです
複製写真:
上の図からわかるように、開始時間が選択されると、終了時間の選択範囲が自動的に制限され、2つの日付セレクター間のリンクが実現されます。
コードは次のとおりです。
最初にリンケージ処理機能を定義します。
Ext.Apply(Ext.Form.Field.VTypes、{PeriodEange:function(val、field){var date = field.parsedate(val); if(!date){return false;} if(field.startdatefield &&(!thate.daterangemax ||(date.gettime()!= daterangemax.gettime()))) field.up( 'grid')。 field.up( 'grid')。ダウン( '#' + field.enddatefield); end.setminvalue(date); end.validate(); this.daterangemin = date; } trueを返します。 }、riveryangeText: '開始日は終了日よりも短くなければなりません'}); ext.tip.quicktipmanager.init();tbar、bbar、またはフォームのアイテムを追加します。
{XType: 'datefield'、fieldlabel: 'time range start'、name: 'startdt'、id: 'startdt'、vtype: 'daterange'、enddatefield: 'enddt'、format: 'ym-d'、width:220、labelwidth:90、sgtarget: 'side:' autopiterrors: fieldlabel: 'end'、name: 'enddt'、id: 'enddt'、vtype: 'daterange'、startdatefield: 'startdt'、format: 'ym-d'、width:170、labelwidth:40、msgtarget: 'side'、autofiterrors:fals}、{xtype: 'binth:' bint '' 'binth:ハンドラー:function(){...このコードは、extjs4.1.1にコピーして実行できます