Как я могу сохранить значение даты в пользовательском интерфейсе datepicker jquery

#javascript #jquery #jquery-ui-datepicker

#javascript #jquery #jquery-ui-datepicker

Вопрос:

Как и спрашивалось ранее, я хочу сохранить выбранную дату в datepicker в значении. Итак, как было рекомендовано, я сделал следующее.

 $( function() {
    var date_choisie = $("#calendrier").datepicker({ dateFormat: "yy-mm-dd" }).val();
    $( "#calendrier" ).datepicker('setDate', new Date());
    console.log(date_choisie);
} );

  

Но ничего не появляется, когда я работаю с консолью.журнал текущей даты, даже не предупреждение или ошибка.

Есть предложения, почему? Спасибо

Комментарии:

1. пожалуйста, предоставьте еще немного кода и ссылку на другой вопрос, о котором вы говорите

2. вы хотите получить дату по выбранной дате или текущее значение даты, сохраненное в переменной?

3. Извините, я хочу console.log(date_choisie), и при консоли ничего не появляется. запишите это

4. да, это то, что я спросил, вы хотите получить правильную дату, указанную в datepicker? это будет 2020-09-20 — правильно?

5. Ну, на самом деле это будет 19-09-2020, но да, вы поняли. Или, может быть, 20-09-2020, это зависит от того, где вы живете. Обратите внимание, что я изменил формат на дд-мм-гг

Ответ №1:

Вы logic неправильно определяете дату datePicker — чтобы получить дату, которая отображается в jQuery ui datepicker настоящее время, вы можете использовать native функцию getDate средства выбора даты

Как только у вас есть дата, вы можете format использовать ее с помощью formatDate метода для того, что вы хотели бы сохранить как! Оно будет сохранено в variable which can accessed для других вещей, если потребуется.

 //get date in a variable
var date_choisie = $('#calendrier').datepicker('getDate');
var formatDate = $.datepicker.formatDate("yy-mm-dd", date_choisie);
console.log(formatDate); //2020-09-20
  

Живая рабочая демонстрация:

 $(function() {
  $("#calendrier").datepicker({
    dateFormat: "yy-mm-dd",
  })
  //set date as current
  $("#calendrier").datepicker('setDate', new Date());

  //get date in a varoable
  var date_choisie = $('#calendrier').datepicker('getDate');
  var formatDate = $.datepicker.formatDate("yy-mm-dd", date_choisie);
  console.log(formatDate); //2020-09-20
});  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

<p>Date: <input type="text" id="calendrier"></p>  

Комментарии:

1. Кстати, теперь я могу использовать formatdate для обработки данных на основе formatdate?

2. @samaywise Итак, вы имели в виду, что хотите увидеть обновленную дату в консоли. регистрируйте, когда вы вносите изменения в дату календаря?

3. Да, именно так. Я думаю, что метод onSelect может помочь

4. @samaywise да, в этом нам нужно использовать метод onSelect в datepicker и сохранить выбранную дату в переменной 🙂

5. @samaywise Здесь работает скрипка для вас => jsfiddle.net/trqn7akL — проверьте консоль. в журнале будет отображаться выбранная дата.