Выбор времени за модальным окном начальной загрузки Twitter

Я использую средство выбора даты и времени начальной загрузки в своем веб-приложении Java Spring MVC для выбора даты и времени отдельно. Я включил необходимые CSS и скрипты. мой HTML-код будет следующим:

<div class="form-group">
    <label class="col-lg-2 control-label">Start</label>
    <div class="col-lg-10">
        <div class="row">
            <div class="col-sm-6">
                <!--Bootstrap Datepicker : Component-->
                <div id="dripCampaignStartDate">
                    <label class="control-label" for="startDate">Start Date</label>
                    <div class="input-group date">
                        <input type="text" class="form-control" id="startDate" name="startDate" readonly="readonly">
                        <span class="input-group-addon"><i class="swcm-pli-calendar-4"></i></span>
                    </div>
                </div>
            </div>
            <div class="col-sm-6">
                <!--Bootstrap Timepicker : Component-->
                <label class="control-label" for="startTime">Start Time</label>
                <div class="input-group date" id="dripCampaignStartTime">
                    <input type="text" class="form-control" id="startTime" name="startTime" readonly="readonly">
                    <span class="input-group-addon"><i class="swcm-pli-clock"></i></span>
                </div>
            </div>
        </div>
    </div>
</div>
<div class="form-group">
    <label class="col-lg-2 control-label">End</label>
    <div class="col-lg-10">
        <div class="row">
            <div class="col-sm-6">
                <!--Bootstrap Datepicker : Component-->
                <div id="dripCampaignEndDate">
                    <label class="control-label" for="endDate">End Date</label>
                    <div class="input-group date">
                        <input type="text" class="form-control" id="endDate" name="endDate" readonly="readonly">
                        <span class="input-group-addon"><i class="swcm-pli-calendar-4"></i></span>
                    </div>
                </div>
            </div>
            <div class="col-sm-6">
                <!--Bootstrap Timepicker : Component-->
                <label class="control-label" for="endTime">End Time</label>
                <div class="input-group date" id="dripCampaignEndTime">
                    <input type="text" class="form-control" id="endTime" name="endTime" readonly="readonly">
                    <span class="input-group-addon"><i class="swcm-pli-clock"></i></span>
                </div>
            </div>
        </div>
    </div>
</div>
<div class="form-group">
    <label class="col-lg-2 control-label">DNS Time</label>
    <div class="col-lg-10">
        <div class="row">
            <div class="col-sm-6">
                <!--Bootstrap Datepicker : Component-->
                <label class="control-label" for="DNSStartTime">From</label>
                <div class="input-group date" id="dripCampaignDNSStartTime">
                    <input type="text" class="form-control" id="DNSStartTime" name="DNSStartTime" readonly="readonly">
                    <span class="input-group-addon"><i class="swcm-pli-clock"></i></span>
                </div>
            </div>
            <div class="col-sm-6">
                <!--Bootstrap Datepicker : Component-->
                <label class="control-label" for="DNSEndTime">To</label>
                <div class="input-group date" id="dripCampaignDNSEndTime">
                    <input type="text" class="form-control" id="DNSEndTime" name="DNSEndTime" readonly="readonly">
                    <span class="input-group-addon"><i class="swcm-pli-clock"></i></span>
                </div>
            </div>
        </div>
    </div>
</div>

Я использую следующий код javascript для инициализации средств выбора даты и времени: //Инициализация средств выбора даты и времени

var currentDate = new Date();
var tomorrow = new Date();
tomorrow.setDate(currentDate.getDate() + 1);
var minDateValue = new Date();
var maxDateValue = new Date();

$('#dripCampaignStartDate .date').datetimepicker({
    format: 'L',
    allowInputToggle: true,
    ignoreReadonly: true,
    useCurrent: false,
    minDate: currentDate,
    defaultDate: currentDate
});

$('#dripCampaignEndDate .date').datetimepicker({
    format: 'L',
    allowInputToggle: true,
    ignoreReadonly: true,
    useCurrent: false,
    minDate: currentDate,
    defaultDate: currentDate
});

$('#dripCampaignEndDate .date').data("DateTimePicker").date(tomorrow);

$("#dripCampaignStartDate .date").on("dp.change", function (e) {
    $('#dripCampaignStartDate .date').data("DateTimePicker").minDate(moment().millisecond(0).second(0).minute(0).hour(0));
    minDateValue = new Date(e.date);
    minDateValue.setDate(minDateValue.getDate());
    minDateValue.setHours(0,0,0,0);
    $('#dripCampaignEndDate .date').data("DateTimePicker").minDate(minDateValue);
    if($('#dripCampaignEndDate .date').data("DateTimePicker").date() < $('#dripCampaignStartDate .date').data("DateTimePicker").date())
    {
        tomorrow = new Date(minDateValue);
        tomorrow.setDate(tomorrow.getDate() + 1);
        $('#dripCampaignEndDate .date').data("DateTimePicker").date(tomorrow);
    }
});

$("#dripCampaignEndDate .date").on("dp.change", function (e) {
    minDateValue.setHours(0,0,0,0);
    $('#dripCampaignEndDate .date').data("DateTimePicker").minDate(minDateValue);
    maxDateValue = new Date(e.date);
    maxDateValue.setDate(maxDateValue.getDate());
    $('#dripCampaignStartDate .date').data("DateTimePicker").minDate(moment().millisecond(0).second(0).minute(0).hour(0));
    maxDateValue.setHours(0,0,0,0);
    $('#dripCampaignStartDate .date').data("DateTimePicker").maxDate(maxDateValue);
});

currentDate.setTime(currentDate.getTime() + (60*60*1000));

$('#dripCampaignStartTime, #dripCampaignEndTime, #dripCampaignDNSStartTime, #dripCampaignDNSEndTime').timepicker({
    defaultTime: currentDate
});

$('#start-Time').val($('#dripCampaignStartTime').val());
$('#endTime').val($('#dripCampaignEndTime').val());
$('#DNSStartTime').val($('#dripCampaignDNSStartTime').val());
$('#DNSEndTime').val($('#dripCampaignDNSEndTime').val());

$(document).on( 'change', '#dripCampaignStartTime' ,function (event){
    $('#start-Time').val($('#dripCampaignStartTime').val());
});

$(document).on( 'change', '#dripCampaignEndTime' ,function (event){
    $('#endTime').val($('#dripCampaignEndTime').val());
});

$(document).on( 'change', '#dripCampaignDNSStartTime' ,function (event){
    $('#DNSStartTime').val($('#dripCampaignDNSStartTime').val());
});

$(document).on( 'change', '#dripCampaignDNSEndTime' ,function (event){
    $('#DNSEndTime').val($('#dripCampaignDNSEndTime').val());
});

У меня нет проблем с выбором даты. Проблема возникает с выбором времени. Я нашел несколько решений, связанных с индексом z, но, похоже, они не работают для меня.


person Geo Thomas    schedule 02.08.2018    source источник
comment
Привет Гео. Мне удалось запустить пример здесь: codepen.io/Kanx/pen/Yjvymb ?editors=1000 Не похоже, что проблема связана с базовым CSS, содержащимся в соответствующих библиотеках. Вы можете поделиться своим собственным CSS?   -  person Matt    schedule 03.08.2018
comment
@Matt, я очень ценю твою помощь, но, возможно, я не смогу поделиться своим собственным css. Но я считаю, что здесь мало что делает мой css. Я могу использовать тот же код и заставить работать как средства выбора даты, так и времени. Но проблема возникает только с модальным.   -  person Geo Thomas    schedule 03.08.2018
comment
Ах, извините, Гео, я пропустил модальную часть. У меня есть еще один codepen, использующий модальное окно, которое работает. Какую версию Bootstrap вы используете?   -  person Matt    schedule 03.08.2018
comment
@Matt, я использую загрузочную версию версии 3.3.6.   -  person Geo Thomas    schedule 03.08.2018
comment
@Matt, я также вижу, что средство выбора времени отлично работает в твоем модальном окне. Вы внесли какие-либо изменения   -  person Geo Thomas    schedule 03.08.2018
comment
Я только что использовал ваш HTML и завернул его в базовый модальный режим - боюсь, никаких дальнейших изменений   -  person Matt    schedule 03.08.2018
comment
Давайте продолжим обсуждение в чате.   -  person Geo Thomas    schedule 03.08.2018
comment
Я решил проблему, используя следующий css: .bootstrap-timepicker-widget.dropdown-menu { z-index: 1050!important; } получил решение с сайта github.com/jdewit/bootstrap-timepicker/issues/326   -  person Geo Thomas    schedule 03.08.2018


Ответы (1)


После некоторых исследований я нашел решение по следующему URL-адресу:

https://github.com/jdewit/bootstrap-timepicker/issues/326

Я добавил запись CSS в свою таблицу стилей, чтобы установить z-индекс для средства выбора времени, и проблема была решена:

 .bootstrap-timepicker-widget.dropdown-menu { z-index: 1050!important; } 
person Geo Thomas    schedule 03.08.2018