jQuery: возникают проблемы с указанием minDate и maxDate для DatePicker
Я пытаюсь заставить выбирать только даты между (сегодня минус неделя, сегодня плюс неделя), но вместо этого получаю DatePicker с отключенными прошлыми датами и неограниченными будущими датами.
Любая идея? (Я новичок в 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>
3 ответа
Опции разные для вашего текущего плагина, startDate
а такжеendDate
и они должны быть строками, вот так:
$(function () {
$('.date-pick').datePicker({
startDate : new Date().addDays(-7).asString(),
endDate: new Date().addDays(7).asString()
}).val(new Date().asString()).trigger('change');
});
Вы можете попробовать это здесь. Документация, из которой вы, кажется, извлекли информацию, относится к другому плагину, jQuery UI Datepicker, найденному здесь.
Похоже, что вы Nick Craver те же два Nick Craver, что и я, как указал Nick Craver. Плагин DatePicker, который вы используете, не берет minDate
а также maxDate
варианты: http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/documentation.html
Но JPuery UI DatePicker делает. http://jqueryui.com/demos/datepicker/
Какой из них вы хотели использовать? Если это плагин (а не 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 попробуйте использовать строчные буквы d
указать дни:
$(function() {
$('.date-pick').datepicker({
minDate: '-7d',
maxDate: '+7d'
}).val(new Date().asString()).trigger('change');
});
Я думаю, что вам нужно использовать startDate и endDate:
$('.date-pick').datePicker({ startDate: '-2D', endDate: '+2D' }).val(new Date().asString()).trigger('change');
То есть, если вы используете плагин, описанный здесь: kevinluck.com. Это работает для меня на моем местном тесте. Я предполагаю, что вы используете этот плагин из-за сходства с примерами на сайте Кевина.