2016-09-28 3 views
1

Это работоспособная код продемонстрировать проблему: http://dojo.telerik.com/obATOКендо DateTimePicker установить минимальное значение изменится параметрам времени

Вот тот же код в случае ссылка сломана:

<!DOCTYPE html> 
 
<html> 
 
<head> 
 
    <base href="http://demos.telerik.com/kendo-ui/datetimepicker/index"> 
 
    <style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style> 
 
    <title></title> 
 
    <link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.3.914/styles/kendo.common.min.css" /> 
 
    <link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.3.914/styles/kendo.flat.min.css" /> 
 
    <link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.3.914/styles/kendo.flat.mobile.min.css" /> 
 

 
    <script src="//kendo.cdn.telerik.com/2016.3.914/js/jquery.min.js"></script> 
 
    <script src="//kendo.cdn.telerik.com/2016.3.914/js/kendo.all.min.js"></script> 
 
</head> 
 
<body> 
 

 
     <div id="example"> 
 
      
 
      <div class="demo-section k-content"> 
 
       <h4>Remind me on</h4> 
 
       <input id="datetimepicker" style="width: 100%;" /> 
 
      </div> 
 
      
 
      <script> 
 
       $(document).ready(function() { 
 
        // create DateTimePicker from input HTML element 
 
        $("#datetimepicker").kendoDateTimePicker({ 
 
         value:new Date() 
 
        }); 
 
        
 
        $("#datetimepicker").data("kendoDateTimePicker").min(new Date(2016, 8, 28, 11,29)); 
 
       }); 
 
      </script> 
 
      
 
     </div> 
 
</body> 
 
</html>

У меня есть Kendo DateTimePicker, который я не устанавливаю интервал явно, поэтому по умолчанию параметры времени будут иметь интервал 30 минут, например: 00:00, 00:30 ... 23:30

Теперь я хочу установить минимальное значение элемента управления в качестве некоторого странного DateTime, в моем примере кода я установил его в «2016-09-28 11:29:00», так что я ожидаю, что произойдут две вещи:

  1. при вводе пользователя DateTime меньше этого значения, то управление будет автоматически настроен на это значение, как это минимальное значение
  2. опция времени в выпадающем списке TimePicker будет показывать только варианты больше к этому значению плюс минимальное значение, поэтому должно быть похоже на 11:29, 11:30, 12:00, 12:30 ... 23:30

В то время как е, первое, что достигнуто, второе - нет. Варианты времени - 11:29, 11:59, 12:29 ... 23:29, 23:30.

Так что мой вопрос в том, что это нормально? и как я могу достичь второго пункта, упомянутого выше?

(Вполне допустимо, что сам по себе минимальному значению не отображается в настройках, но я хочу, чтобы параметры остаются теми же, вместо сдвига из-за минимальные установленное значение)

+1

Этот вопрос может помочь вам http://stackoverflow.com/questions/14630096/kendo-ui-timepicker-custom-interval-format –

ответ

0

Я имел такое же поведение, сегодня .. В моем случае я округлил время.

Что-то вроде этого:

var dateMin = new Date(2016, 8, 28, 11,29); 
dateMin.setHours(dateMin.getHours() + Math.round(dateMin.getMinutes()/60)); 
dateMin.setMinutes(0); 

$("#datetimepicker").data("kendoDateTimePicker").min(dateMin); 
+0

Я не думаю, что это ответит на мою проблему, поскольку у меня есть случаи, которые необходимо преднамеренно установив минимальное значение в не округленное значение, например, 15:02, 18:23 и т. д. – shole

0

Я подал заявку в службу поддержки Telerik, а вот их ответ:

По умолчанию минимальное значение будет указать начальную точку интервала в время. У вас есть два варианта обработки такого поведения:

  1. Установите значение мин, чтобы быть значением из списка (интервалы в представлении времени): мин: новая Дата (2016, 8, 28, 11,00)
  2. Определите коллекцию даты для конкретной даты мин:

http://docs.telerik.com/kendo-ui/api/javascript/ui/datetimepicker#configuration-dates

Однако второй подход потребует повторной инициализации этого виджета через метод setOptions и я лично рекомендую , чтобы использовать первый подход, когда вам нужно установить время минимального значения , чтобы оно соответствовало одному из значений в интервале.

Вкратце: это ожидаемое поведение и не существует «быстрого» обходного пути.

 Смежные вопросы

  • Нет связанных вопросов^_^