extjs 時間范圍選擇自動判斷的實現(xiàn)代碼
更新時間:2014年06月24日 17:35:36 投稿:whsnow
這篇文章主要介紹了extjs 時間范圍選擇自動判斷的實現(xiàn)代碼,需要的朋友可以參考下
extjs中 有時需要選擇一個日期范圍,需要自動判斷,選擇的開始日期不能大于結束日期,或結束日期不能小于開始日期,實現(xiàn)的代碼如下
效果圖:
從上圖可以看到,當選擇了一個開始時間后,會自動限制結束時間的選擇范圍,實現(xiàn)兩個日期選擇器的聯(lián)動.
代碼如下:
首先定義聯(lián)動處理函數(shù):
Ext.apply(Ext.form.field.VTypes, { daterange: function (val, field) { var date = field.parseDate(val); if (!date) { return false; } if (field.startDateField && (!this.dateRangeMax || (date.getTime() != this.dateRangeMax.getTime()))) { var start = field.up('grid').down('#' + field.startDateField); start.setMaxValue(date); start.validate(); this.dateRangeMax = date; } else if (field.endDateField && (!this.dateRangeMin || (date.getTime() != this.dateRangeMin.getTime()))) { var end = field.up('grid').down('#' + field.endDateField); end.setMinValue(date); end.validate(); this.dateRangeMin = date; } return true; }, daterangeText: '開始日期必須小于結束日期' }); Ext.tip.QuickTipManager.init();
在tbar,bbar或form中的items中增加:
{ xtype: 'datefield', fieldLabel: '時間范圍 開始', name: 'startdt', id: 'startdt', vtype: 'daterange', endDateField: 'enddt', format: 'Y-m-d', width: 220, labelWidth: 90, msgTarget: 'side', autoFitErrors: false }, { xtype: 'datefield', fieldLabel: '結束', name: 'enddt', id: 'enddt', vtype: 'daterange', startDateField: 'startdt', format: 'Y-m-d', width: 170, labelWidth: 40, msgTarget: 'side', autoFitErrors: false }, { xtype: 'button', text: '查詢', iconCls: 'fljs', handler: function () { ...
即可實現(xiàn)以上效果 本代碼復制在extjs4.1.1中運行
相關文章
ExtJS4如何自動生成控制grid的列顯示、隱藏的checkbox
需要做一個控制grid列顯示的checkboxgroup,雖然EXTJS4中的gridpanel自帶列表可以來控制列的顯示隱藏,需要的朋友可以參考下2014-05-05Ajax請求在數(shù)據(jù)量大的時候出現(xiàn)超時的解決方法
這篇文章主要介紹了Ajax請求在數(shù)據(jù)量大的時候出現(xiàn)超時的解決方法,需要的朋友可以參考下2014-02-02