Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Не получается получить значения выбора даты через datapicker (https://javascript.ru/forum/library-toolkit-framework/76182-ne-poluchaetsya-poluchit-znacheniya-vybora-daty-cherez-datapicker.html)

giwuf 11.12.2018 22:04

Не получается получить значения выбора даты через datapicker
 
Есть блок с возможностью выбора даты и времени., который реализован с помощью datapicker bootstrap. Ссылка на документацию.

Не могу понять, как получать значения инпутов при выборе данных пользователем, т.к. значение val получаю только, если ввожу значения вручную, а если нажимаю на стрелочку и выбираю через датапикер, то значение в инпуте не задается - почему и как можно решить?

<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.1.2/css/tempusdominus-bootstrap-4.css" rel="stylesheet" />
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment-with-locales.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.1.2/js/tempusdominus-bootstrap-4.js"></script>
<script>$(function() {
  $('#datetimepicker3').datetimepicker({
    format: 'DD MMMM',
    locale: 'ru'
  });
  $('#datetimepicker2').datetimepicker({
    format: 'HH'
  });
  $('#datetimepicker1').datetimepicker({
    format: 'mm'
  });
});

	$('.datetimepicker-input').on('click', function() {
	  let $data =  $(this).val();
	  console.log($data);
	});

	$('.input-group-append').on('click', function() {
	  let target = $(this).data('target');
	  console.log(target);
	});

	$('#datetimepicker3').on('click', function() {
	  console.log("click datetimepicker3");
	  let data =  $(this).find('.datetimepicker-input').val();
	  console.log(data);
	});
</script>
<style>.input-group .form-control {
  border-right: none;
}

.input-group .input-group-text {
  background-color: transparent;
}
.datetimepicker-input {
  text-transform:capitalize;
}</style>
<div class="container">
  <div class="form-group">
    <label>Дата</label>
    <div class="row">
      <div class="col-sm-12">

        <div class="input-group date" id="datetimepicker3" data-target-input="nearest">
          <input type="text" class="form-control datetimepicker-input" data-target="#datetimepicker3" />
          <div class="input-group-append" data-target="#datetimepicker3" data-toggle="datetimepicker">
            <div class="input-group-text"><i class="fa fa-caret-down" aria-hidden="true"></i></div>
          </div>
        </div>
      </div>
    </div>
  </div>
  <div class="form-group">
    <label>Время</label>
    <div class="row">
      <div class="col-sm-6">
        <div class="input-group date" id="datetimepicker2" data-target-input="nearest">
          <input type="text" class="form-control datetimepicker-input" data-target="#datetimepicker2" />
          <div class="input-group-append" data-target="#datetimepicker2" data-toggle="datetimepicker">
            <div class="input-group-text"><i class="fa fa-caret-down" aria-hidden="true"></i></div>
          </div>
        </div>
      </div>
      <div class="col-sm-6">
        <div class="input-group date" id="datetimepicker1" data-target-input="nearest">
          <input type="text" class="form-control datetimepicker-input" data-target="#datetimepicker1" />
          <div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker">
            <div class="input-group-text"><i class="fa fa-caret-down" aria-hidden="true"></i></div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

рони 11.12.2018 23:24

giwuf,
$("#datetimepicker3").on("hide.datetimepicker input", function (e) {
            console.log($('#datetimepicker3').data("datetimepicker").input.val()) ;
        });

giwuf 12.12.2018 00:09

рони, спасибо большое! Я и самостоятельно разобрался и подвязываю несколько на другую интерпретацию события.

$('#datetimepicker3').on("change.datetimepicker", function (e) {
       	  var input = $(this).find('.datetimepicker-input').val();
       	  console.log(input);
       });


Часовой пояс GMT +3, время: 23:02.