DatePicker限定选择日期
Source
Output
QRCode
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>DatePicker-限定选择时间</title>
<link rel="stylesheet" href="//g.alicdn.com/kissy/k/5.0.1/css/base.css">
<script src="//g.alicdn.com/kissy/k/5.0.1/seed-debug.js"></script>
<style type="text/css">
.ks-date-picker-disabled-cell .ks-date-picker-date{ /*不能被选择的日期样式*/
color: #bfbfbf;
}
</style>
</head>
<body>
<h3>DatePicker-限定选择时间</h3>
<p>
DatePicker 是一个嵌入式的日历控件,如需使用悬浮式的日历控件请使用 DatePicker.Popup。
</p>
<p>这个例子使用 disabledDate 这个配置来限定能被选择的日期,只能选择当前日期所在月份的前后三天</p>
<div id="holder"></div>
<div id="result"></div>
<script type="text/javascript">
// require.config('lang', 'en-us'); //如果配置语言为英文,日历组件会自动显示为英文
require(['node', 'date-picker', 'gregorian-calendar', 'gregorian-calendar-format', 'date-picker/assets/dpl.css'], function(Node, DatePicker, GregorianCalendar, GregorianCalendarFormat) {
var result = Node.all("#result");
var gregorian = new GregorianCalendar();
gregorian.setTime(+new Date()); //当前时间的GregorianCalendar对象
var picker = new DatePicker({
render: "#holder",
showWeekNumber : false,
showClear : false, // showClear 和 showToday 一定要一起配置成相同的才生效
showToday : false,
disabledDate : function(current, value){ //返回true说明该日期不可选,具体api意义请看API文档
var dateCanNotBeSelected = true;
if(current.getMonth() === gregorian.getMonth() && gregorian.getDayOfMonth() + 3 >= current.getDayOfMonth() && gregorian.getDayOfMonth() - 3 <= current.getDayOfMonth()){
dateCanNotBeSelected = false;
}
return dateCanNotBeSelected;
}
}).render();
picker.on('select', function(e) {
var value = e.value;
if (value) {
result.html(GregorianCalendarFormat.getDateInstance(GregorianCalendarFormat.Style.FULL).format(value));
} else {
result.html(null);
}
});
});
</script>
</body>
</html>