#javascript #jquery #bootstrap-datepicker
#javascript #jquery #bootstrap-выбор даты
Вопрос:
Я показываю datepicker
без ввода. Я хочу получить выбранную дату и отформатировать ее в dd-mm-yy
, но это не работает.
$(function() {
var selectedDate = $("#inline-calendar").datepicker({
changeYear: true,
dateFormat: 'dd-mm-yy',
}).datepicker("setDate", "now").datepicker("getDate");
console.log(selectedDate)
});
<div id="inline-calendar"></div>
Результатом приведенного выше кода является Sat Sep 12 2020 00:00:00 GMT 0800 (Singapore Standard Time)
Комментарии:
1. Используете ли вы jQuery datepicker?
2. Bootstrap datepicker v1.7.0
3. @lurker Нет, это не так
Ответ №1:
Вы можете просто использовать .data
атрибуты в bootstrap datepicker
, чтобы получить значение даты в календаре с помощью getFormattedDate
Живая рабочая демонстрация:
$(function() {
$("#inline-calendar").datepicker({
changeYear: true,
dateFormat: 'dd-mm-yy',
}).datepicker("setDate", "now").datepicker("getDate");
//get date value
let getDate = $("#inline-calendar").data('datepicker').getFormattedDate('dd-mm-yy');
console.log(getDate) //12-09-20
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js" integrity="sha512-T/tUfKSV1bihCnd MxKD0Hm1uBBroVYBOYSk1knyvQ9VyZJpc/ALb4P0r6ubwVPSGB2GvjeoMAJJImBG12TiaQ==" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/css/bootstrap-datepicker.min.css" integrity="sha512-mSYUmp1HYZDFaVKK//63EcZq4iFWFjxSL Z3T/aCt4IO9Cejm03q3NKKYN6pFQzY0SBOr8h eCIAZHPXcpZaNw==" crossorigin="anonymous" />
<div id="inline-calendar"></div>
Комментарии:
1. Спасибо! Добавление другой строки работает. Извините за дополнительный запрос, но можете ли вы также указать
onSelect
для выбора даты? Мой код не может ее запустить.2. @Emerald Добро пожаловать. Итак, вы хотите инициировать изменение даты при выборе и получить выбранное значение в консоли. регистрировать каждый раз, когда вы нажимаете новую дату?
3. О! Мне удалось заставить это работать, используя ваш метод!
$("#inline-calendar").datepicker().on('changeDate', function(){ let getDate = $("#inline-calendar").data('datepicker').getFormattedDate('dd-mm-yyyy'); console.log(getDate); })
Большое вам спасибо за вашу помощь!