大家好
我正在使用两个定义如下的日期选择器进行日期范围选择:

items: {
                        xtype: 'panel',
                        layout: 'hbox',
                        items: [{
                            title: 'FROM',
                            margin: '5',
                            items: {
                                xtype: 'datepicker',
                                start: true,
                                reference: 'startDate',
                                maxDate: new Date(),
                                maxText: 'Future dates are not available',
                                bind: {
                                    value: '{startDate}'
                                },
                                showToday: false,
                                listeners: {
                                    select: 'checkDateInterval'
                                }
                            }
                        }, {
                            title: 'TO',
                            margin: '5',
                            items: {
                                xtype: 'datepicker',
                                start: false,
                                reference: 'endDate',
                                bind: {
                                    value: '{endDate}'
                                },
                                maxDate: new Date(),
                                showToday: false,
                                listeners: {
                                    select: 'checkDateInterval'
                                }
                            }
                        }]
                    }


我想要实现的是将第二个日期选择器的minDate设置为第一个日期选择器中的日期,因此用户一旦选择了第一个日期,就无法选择过去的日期。
我还想在用户在第一个日期选择器上选择一个日期后重置第二个日期。

如何指向第一个元素上选择的日期?

最佳答案

用这个:

 {
     xtype:'datefield',
     隐藏:正确,
     宽度:“ 17%”,
     可编辑:false,
     tabIndex:6
     id:“开始”,
     格式:“ Y-m-d”,
     minDate:新的Date(),
     名称:“ start_date”,
     onTriggerClick:function(){
         var dt = this;
         var due = Ext.getCmp('Due');
         dt.setMaxValue(due.value);
         Ext.form.DateField.prototype.onTriggerClick.apply(dt,arguments);
     },
     听众:{
         更改:function(dp,date){
             var due = Ext.getCmp('Due');
             due.setValue(date);
         }
     }
 },{
     xtype:'datefield',
     隐藏:正确,
     id:“到期”,
     可编辑:false,
     tabIndex:8
     宽度:“ 17%”,
     格式:“ Y-m-d”,
     名称:“ due_date”,
     onTriggerClick:function(){
         var dt = this;
         dt.setMinValue(Ext.getCmp('start')。value);
         Ext.form.DateField.prototype.onTriggerClick.apply(dt,arguments);
     },
     听众:{
         更改:function(dp,date){
                 var start = Ext.getCmp('start');
                 start.setValue(date);
         }
     }
 }

10-07 14:07