我正在尝试强制选择(今天减去一周,今天加一周)之间的日期,而是获取一个日期选择器,其中过去日期已禁用且未来日期不受限制。
有什么想法吗? (我是jQuery的新手,玩它的第二天......)谢谢!
我隔离了代码以清楚地重复它:
<html>
<head>
<title>jquery sample</title>
<script type="text/javascript" src="jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="date.js"></script>
<script type="text/javascript" src="jquery.datePicker.js"></script>
<link href="datePicker.css" rel="stylesheet" type="text/css" />
<link href="custom.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" charset="utf-8">
$(function () {
$('.date-pick').datePicker({ minDate: '-7D', maxDate: '+7D' }).val(new Date().asString()).trigger('change');
});
</script>
</head>
<body>
<a href="">Link</a>
<input name="date1" id="date1" class="date-pick" />
</body>
答案 0 :(得分:2)
@Nick指出,看起来你正在混淆我所做的两个瞄准器。您正在使用的datepicker插件不会选择minDate
和maxDate
:http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/documentation.html
但是jQuery UI datepicker可以。 http://jqueryui.com/demos/datepicker/#option-minDate
您的意思是使用哪一个?如果它是插件(不是jQuery UI),那么使用startDate
和endDate
选项(看起来他们只接受绝对日期字符串[有点蹩脚,IMO]):
$(function() {
var MS_PER_WEEK = 604800000;
now = new Date().getTime(),
start = new Date(now - MS_PER_WEEK),
end = new Date(now + MS_PER_WEEK),
startStr = start.getDate() + '/' + (start.getMonth() + 1) + '/' + start.getFullYear(),
endStr = end.getDate() + '/' + (end.getMonth() + 1) + '/' + end.getFullYear()
$('.date-pick').datePicker({
startDate: startStr
endDate: endStr
}).val(new Date().asString()).trigger('change');
});
对于jQuery UI datepicker,请尝试使用小写 d
来表示天数:
$(function() {
$('.date-pick').datepicker({
minDate: '-7d',
maxDate: '+7d'
}).val(new Date().asString()).trigger('change');
});
击> <击> 撞击>
答案 1 :(得分:2)
您当前的插件startDate
and endDate
的选项不同,它们必须是字符串,如下所示:
$(function () {
$('.date-pick').datePicker({
startDate : new Date().addDays(-7).asString(),
endDate: new Date().addDays(7).asString()
}).val(new Date().asString()).trigger('change');
});
You can give it a try here。您似乎从中获取的文档是针对不同的插件,即jQuery UI Datepicker found here。
答案 2 :(得分:0)
我认为您需要使用startDate和endDate:
$('.date-pick').datePicker({ startDate: '-2D', endDate: '+2D' }).val(new Date().asString()).trigger('change');
也就是说,假设您使用的是此处所述的插件:kevinluck.com。这在我的本地测试中对我有用。由于与Kevin网站上的示例相似,我假设您正在使用此插件。