我decided将此插件用于 jQuery UI Datepicker,
Wich 似乎工作得很好,例如:
$(function () {
var today = new Date();
$('#test').multiDatesPicker({
dateFormat: "yy-mm-dd",
addDisabledDates: [today.setDate(1), today.setDate(3)]
);
});
除了当月的 1 号和 3 号,这允许用户根据需要选择任意天,
但我如何才能限制用户选择仅大于所需日期(开始)且小于另一个所需日期的日期?
我在他们的 documentation 中没有看到任何方法
PD:作为一种解决方法,我想到创建一个数组,其中的日期在我想要的时间间隔之前/之后,但我该如何标记它呢? (我的意思是,我应该在这个数组中考虑多少年??)
-编辑-
只是为了测试,我试图从我想要的范围内禁用前 15 天和后 15 天,如下所示:
$(function () {
var start = new Date(2013, 11, 20)
var end = new Date(2013, 11, 24)
console.log(start, end);
var dissabledDates = [];
if ( end < start ) {
alert('Está mal');
}
for ( i = 0 ; i < 15 ; i++ ){
var currentDate = new Date();
currentDate.setDate( start.getDate() - i );
dissabledDates[ dissabledDates.length ] = currentDate;
}
for ( i = 0 ; i < 15 ; i++ ){
var currentDate = new Date();
currentDate.setDate( end.getDate() + i );
dissabledDates[ dissabledDates.length ] = currentDate;
console.log(currentDate);
}
var today = new Date();
$('#test').multiDatesPicker({
dateFormat: "yy-mm-dd",
addDisabledDates: dissabledDates
});
});
限制发生了,但是,看看选择器的样子(注意我只限制前后 15 天)
所以问题是:我怎样才能只让用户在我的开始日期和结束日期之间进行选择?
最佳答案
使用 jQuery UI 日期选择器的基本功能,如 here 所述
$( "#datepicker" ).datepicker({ minDate: -20, maxDate: "+1M +10D" });
来自 API 文档:
Multiple types supported:
Date: A date object containing the minimum date.
Number: A number of days from today. For example 2 represents two days from today and -1 represents yesterday.
String: A string in the format defined by the dateFormat option, or a relative date. Relative dates must contain value and period pairs; valid periods are "y" for years, "m" for months, "w" for weeks, and "d" for days. For example, "+1m +7d" represents one month and seven days from today.
关于javascript - 用于日期选择器的 jQuery MultiDatesPicker : Restrict range?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20076221/