Изменение даты при вводе даты
У меня есть поля. Одним из них является ValidFrom Date, а другим - ValidTo Date.
Мой вопрос заключается в том, что мне делать, чтобы, если дата ValidFrom вводится с использованием DateTimePicker, как мне автоматически изменить ValidTo точно на 30 дней?
Ниже приведен мой код для DateTimePicker:
<script src="~/Scripts/jquery.datetimepicker.js"></script>
<script>
$(document).ready(function () {
$('#ValidFrom').datetimepicker({
datepicker: true,
timepicker: false,
format: 'm/d/Y',
step: 30,
minDate: new Date(),
onChangeDateTime: function (dp, $input) {
var date = new Date($input.val());
date.setMonth(date.getMonth() + 1);
$('#ValidTo').datetimepicker({
datepicker: true,
timepicker: false,
format: 'm/d/Y',
step: 30,
minDate: date,
});
},
});
});
</script>
Я должен изменить дату ValidTo на 30 дней, как и при вводе даты ValidFrom.
2 ответа
Вот как должен выглядеть код: после нескольких попыток с ним покончено
<script>
$(document).ready(function () {
$('#ValidFrom').datetimepicker({
datepicker: true,
timepicker: false,
format: 'm/d/Y',
step: 30,
minDate: new Date(),
onChangeDateTime: function (dp, $input) {
var date = new Date($input.val());
date.setMonth(date.getMonth() + 1);
date = (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear();
$('#ValidTo').val(date);
},
});
$('#ValidTo').datetimepicker({
datepicker: true,
timepicker: false,
format: 'm/d/Y',
step: 30,
minDate: new Date()
});
});
</script>
То, что вы ищете, находится под setDate()
метод datetimepicker JS, он может принимать параметр как setDate(new Date())
, Вы можете указать свою собственную дату (формат по необходимости) в качестве аргумента. Если вы не хотите, чтобы другая дата была выбрана до вашего 30-дневного лимита, вы можете проверить start
или же startDate
параметры в том же JS.
Я предлагаю вам прочитать datetimepicker.js, который вы используете в настоящее время, чтобы узнать обо всех его функциях и параметрах.