Как проверить даты jquery datePicker?
У меня есть два поля ввода, startDate
а также tilldate
, Я использую JQuery DatePicker. Проблема в том, когда пользователь выбирает startDate
затем в tillDate
только два дня должны быть включены для выбора. Например 01/04/2015
затем tilldate
может быть либо та же дата или следующая дата, 02/04/2015
,
<td><input type="text" id="startDate" name="startDate" ></td>
<td><input type="text" id="tillDate" name="tillDate"></td>
$(function () {
var setDate;
$("#startDate")
.datepicker({
showOn: "button",
buttonImage: 'http://jqueryui.com/resources/demos/datepicker/images/calendar.gif',
buttonImageOnly: true,
buttonText: "Select Date",
changeMonth: true,
changeYear: true,
maxDate: '0',
onSelect: function (selected) {
$("#tillDate").datepicker("option", "minDate", selected)
setDate = $("#startDate").val();
alert(setDate);
}
});
$("#tillDate").datepicker({
showOn: "button",
buttonImage: 'http://jqueryui.com/resources/demos/datepicker/images/calendar.gif',
buttonImageOnly: true,
buttonText: "Select Date",
changeMonth: true,
changeYear: true,
maxDate: setDate + "2D",
onSelect: function (selected) {
$("#startDate").datepicker("option", "maxDate", selected)
}
});
$(".ui-datepicker-trigger").mouseover(function () {
$(this).css('cursor', 'pointer');
});
});
2 ответа
Насколько я понимаю, вам нужно только два дня до даты. Пожалуйста, проверьте ниже код
<script type="text/javascript">
$(function () {
var setDate;
$("#startDate")
.datepicker(
{
showOn: "button",
buttonImage: 'http://jqueryui.com/resources/demos/datepicker/images/calendar.gif',
buttonImageOnly: true,
buttonText: "Select Date",
changeMonth: true,
changeYear: true,
maxDate:'0' ,
onSelect: function (selected) {
setDate = $("#startDate").val();
var maxDatevale=new Date(setDate);
maxDatevale.setDate(maxDatevale.getDate()+1);
alert(maxDatevale);
$("#tillDate").datepicker("option", "minDate", setDate)
$("#tillDate").datepicker("option", "maxDate", maxDatevale)
}
});
$("#tillDate").datepicker({
showOn: "button",
buttonImage: 'http://jqueryui.com/resources/demos/datepicker/images/calendar.gif',
buttonImageOnly: true,
buttonText: "Select Date",
changeMonth: true,
changeYear: true,
maxDate: setDate + "2D",
onSelect: function (selected) {
$("#startDate").datepicker("option", "maxDate", selected)
}
});
$(".ui-datepicker-trigger").mouseover(function () {
$(this).css('cursor', 'pointer');
});
});
</script>
Хорошо, если я правильно понял, вы просто не хотите, чтобы пользователь выбирал дату, которая предшествует значению даты начала?
Если так, почему бы вам просто не поместить начальное значение даты в глобальное значение, а затем получить его в своей функции tilldate. Если у вас есть значение, вы можете просто проверить, не является ли значение до даты начала датой перед датой начала, если это так, просто очистите ввод.
Но вам, вероятно, придется также подтвердить дату начала.