у меня есть ошибка с JQuery Datetime Picker, которые меняют время, когда я фокусирую контроль - PullRequest
0 голосов
/ 07 мая 2018

Я использую JQuery Datetime Picker моя проблема в том, что когда я выбираю время и использую вкладку, он изменится на минус 1 час означает, что если я выберу 9.30 и нажму на кнопку табуляции, это будет 8.30, и это будет бесконечно уменьшаться, когда я использую вкладку на этом контроле

enter image description here

здесь вы можете видеть, что я выбрал 9.30 AM, но когда фокус на этом элементе управления, он автоматически сделает 8.30 AM. вот код

       <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>Places Searchbox</title>
    <link href="~/Content/jquery.datetimepicker.css" rel="stylesheet" />
    <script src="~/scripts/jquery.min.js"></script>
    <script src="~/scripts/moment.js"></script>
    <script src="~/scripts/bootstrap.min.js"></script>
    <script src="~/scripts/bootstrap-datetimepicker.min.js"></script>
    <script src="~/scripts/jquery.datetimepicker.full.min.js"></script>
    <script src="~/scripts/VagaroDateTimePicker.js"></script>
    <link href="~/Content/bootstrap-datetimepicker.min.css" rel="stylesheet" />
     <link href="~/Content/bootstrap.min.css" rel="stylesheet" />  
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-timepicker/1.10.0/jquery.timepicker.min.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-timepicker/1.10.0/jquery.timepicker.min.js"></script>


</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-md-6">
                <input type="text" class="datepicker" />
            </div>
        </div>
    </div>



 $('.datepicker').datetimepicker({
            format: 'M-d-Y g:i A',   

        });

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

я получил решение для этого

 $('.datepicker').datetimepicker({
          //  datepicker: false,//hide date 
           // format: 'DD-M-YYYY hh:mm A'
            format: 'M-d-Y g:i A',
            formatTime: 'g:i A',
            validateOnBlur: false,
        });

Я добавил validateOnBlur: false и его работа для меня

0 голосов
/ 09 мая 2018

Я проверил ваш код и увидел проблему в том, что когда вы нажимаете tab , если вы выбираете 10.00 AM , он становится 09.00 AM , и я проверял документация и я понимаю, что вы можете объединить moment.js , как написано в документации

enter image description here

Все, что вам нужно сделать, это просто добавить moment.js, а затем добавить эту строку в свои коды

$('.datepicker').datetimepicker({
  format:'DD.MM.YYYY h:mm a',
  formatTime:'h:mm a',
  formatDate:'DD.MM.YYYY'
});

$.datetimepicker.setDateFormatter('moment');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js"></script>

<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.css" rel="stylesheet"/>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container mt-5">
  <div class="row">
    <div class="col-md-6 mb-5">
      <input type="text" class="datepicker"/>
    </div>
    <div class="col-md-6 mb-5">
      <input type="text" class="datepicker" />
    </div>
    <div class="col-md-6 mb-5">
      <input type="text" class="datepicker" />
    </div>
  </div>
</div>

и я уже сделал это для вас, пожалуйста, проверьте его и скажите, поможет ли это

Fiddle: https://jsfiddle.net/v82vkxpz/7/

...