Форматирование выбранной даты в jquery

#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); }) Большое вам спасибо за вашу помощь!