Я использую средство выбора даты начальной загрузки в форме с ajax для обновления ограничения даты на средстве выбора даты.
Я нажимаю ajax, чтобы получить общее количество дней, и setEndDate средства выбора даты, чтобы ограничить верхнюю дату (все более поздние даты будут отключены).
$.ajax({
url: url,
type: 'POST',
dataType: 'json',
success: function (data) {
if('total' in data && data['total'] > 1) {
// datepicker successfully set the limit to next 'total' days
$datepicker.datepicker('setEndDate', '+'+data['total']+'d');
// how to set the field value with that end date?
$datepicker.val($datepicker.datepicker('getEndDate'));
}
},
error: function (e) {
console.log(e);
}
});
мой вопрос, как отформатировать $datepicker.datepicker('getEndDate')
, чтобы yyyy-mm-dd
? в настоящее время он возвращает Fri Jul 27 2018 08:00:00 GMT+0800 (Singapore Standard Time)
.
Я проверил документацию [1], но нет параметра для назначения при форматировании файла getEndDate
.
оценил любую помощь. благодарю вас.
изменить:
для всех, у кого есть какие-то проблемы со мной, в настоящее время мое решение анализирует возврат $datepicker.datepicker('getEndDate')
вручную.
Я видел, что вывод был равен Date .toString()
, поэтому я передаю вывод как конструктор даты JavaScript, а затем форматирую его вручную.
var d = new Date($datepicker.datepicker('getEndDate'));
if(d instanceof Date && !isNaN(d)) {
var day = '' + d.getDate(),
month = '' + (d.getMonth() + 1),
year = d.getFullYear();
if (month.length < 2) month = '0' + month;
if (day.length < 2) day = '0' + day;
// console.log([year, month, day].join('-'));
$datepicker.datepicker('update', [year, month, day].join('-'));
}
[1]http://bootstrap-datepicker.readthedocs.io/en/latest/methods.html