我有一个基本的Ext.form.DateField,需要有一个最小日期。
足够简单 - 只需将minValue字段设置为您想要的最小日期。例如,要将最小允许日期设置为当前月份和年份:
var myDateField = new Ext.form.DateField({
fieldLabel: 'Date',
value: new Date(),
columnWidth: 0.15,
padding: 5,
format: 'n/Y',
plugins: 'monthPickerPlugin',
hidden: false,
minValue: new Date()
});
如果用户输入过去的日期,表单会显示一条错误消息,指出“此字段中的日期必须等于或等于......”和绑定的组件。
但是,我真正需要的是用户甚至无法从选择器中选择较早的一年。
基本上,当日历出现时,我需要它只显示2015年及以后 - 对于以下情况,2011年,2012年,2013年和2014年甚至不应出现在日历中。
提前致谢
答案 0 :(得分:0)
不确定是否可行。
您可以使用 minValue 或 disabledDates 配置来停用日期,但它们仍会显示在列表中。
但是,一旦用户选择了他们被禁用的月份,请参见下面的屏幕截图和示例:
ie.
Ext.create('Ext.form.Panel', {
renderTo: Ext.getBody(),
width: 300,
bodyPadding: 10,
title: 'Dates',
items: [{
xtype: 'datefield',
anchor: '100%',
fieldLabel: 'From',
name: 'from_date',
minValue:"01/01/2015",
disabledDatesText:"Date not available.",
maxValue: new Date() // limited to the current date or prior
}]
});
<link href="http://cdn.sencha.com/ext/gpl/4.2.0/resources/css/ext-all.css" rel="stylesheet"/>
<script src="//cdn.sencha.io/ext-4.2.0-gpl/ext-all.js"></script>