2016-07-18 4 views
2

Я использую bootstrap-timepicker (https://jdewit.github.io/bootstrap-timepicker/) для 2 входов: start_date и end_date. Как я вижу, дата начала имеет значение по умолчанию и является ближайшей: 00 или: 30 минут. Я хочу, чтобы end_date имел по умолчанию самый близкий: 00 или: 30 минут + 1 час. Как я могу это достичь?Bootstrap timepicker добавить часы по умолчанию

$('.timepicker-input-end').timepicker({ 
     showInputs: false, 
     defaultTime: ???? 
    }); 
+0

Используйте разные идентификаторы для каждого таймера. –

+0

Я уже сделал это, как вы видите, у меня есть класс timepicker-input-end', поэтому я имею в виду только конец ввода. Проблема в том, как установить ближайший: 30 или: 00 плюс 1 час? –

+0

Я использовал «bootstrap-datetimepicker» для одного из моих проектов. Все нормально. (start_date и end_date) –

ответ

3

Это должно быть просто, если у вас есть яваскрипт дата объект:

var defDate = new Date(); 
// you can do 00 or 30 min logic here 
defDate.setHours(defDate.getHours() + 1); 
$('.timepicker-input-end').timepicker({ 
    showInputs: false, 
    defaultTime: defDate.toString("hh:mm tt") 
}); 

Update: потому что вы используете timepicker с 12-часовым форматом можно использовать datejs для преобразования времени легко.

+0

Как вы думаете? http://stackoverflow.com/questions/38435030/bootstrap-timepicker-add-hours-to-default-time/38436061#38436061 –

+0

с датой больше красивой –

+0

Я просто не добавлял 1 час с одной строкой, u может легко изменить –

0
var currentDate = new Date(); 
     var day = currentDate.getDate(); 
     var month = currentDate.getMonth() + 1; 
     var year = currentDate.getFullYear(); 
     todayDateReport = year + "-" + month + "-" + day; 
     $("#currentDate").html(todayDateReport); 
     startDate = todayDateReport + " 00:00:00"; 
     endDate = todayDateReport + " 01:00:00"; 

     $("#startDateInput").val(startDate); 
     $("#endDateInput").val(endDate); 
$('#startDate').datetimepicker({ 
     format: 'YYYY-MM-DD HH:mm:ss', 
     collapse:false, 
     sideBySide:true, 
     useCurrent:false, 
     showClose:true, 
     maxDate : currentDate 
    }); 

    $('#endDate').datetimepicker({ 
     format: 'YYYY-MM-DD HH:mm:ss', 
     collapse:false, 
     sideBySide:true, 
     useCurrent:false, 
     showClose:true, 
    }); 
+0

Я не использую 'datetimepicker', только' timepicker' –

0

У меня это простейшее решение, я забыл, что использование библиотеки fullcalendar используется.

$('.timepicker-input-end').timepicker({ 
     showInputs: false, 
     defaultTime: moment($('input[name="appointment[start_time]"]').val(), "hh:mm TT").add(30, 'minutes').format("hh:mm A") 
    }); 

Как вы думаете?