2015-03-02 2 views
2

Я использую this плагин clockpicker для Bootstrap в моем проекте. Все работает нормально, если используется на обычной странице. Но при использовании в модальном диалоге значения не выбираются плагином. Я могу выбрать часы и минуты, но часы просто исчезают, как только я нажимаю кнопку AM/PM или Done. Также, когда модальный прокручивается, часыпикер остается фиксированным в своем исходном положении, но это не так на обычной странице. Пожалуйста, помогите мне решить эту проблему.Использование Bootstrap Clockpicker в модальном диалоге

ответ

1

Это проблема с модальной коробкой. На самом деле, первоначально модальный не отображается, и вы бы назвали clockpicker перед показом модального окна. Попробуйте сначала открыть модальный ящик, а затем clockpicker js.you можно попробовать открыть модальный ящик через js.

$(selector).click(function() { 
      $('#myModal').modal('show'); // #myModal (id of modal box) 
      $('.clockpicker').clockpicker(); // clockpicker js 
     }); 

Если еще не работает, то попробуйте добавить некоторые незначительные задержки в clockpicker JS Для EG:

$(selector).click(function() { 
     function show_popup() { 
      $('.clockpicker').clockpicker(); // clockpicker js 
     }; 
     window.setTimeout(show_popup, 1000); // 1 seconds  
}); 
+0

Я вызываю модальный атрибут данных и инициализирую сборщик часов в jquery. Сборщик часов отображается правильно, только проблема в том, что он не подбирает значения –

+0

В этом случае вам нужно заглянуть в свой плагин или jquery, которые вы указали для colorpicker. –

+1

Настройка autoclose: false работает. Однако я не могу использовать 12-часовой формат, выбор AM или PM игнорируется, и значение всегда устанавливается в PM. Попробовал эту ссылку (https://github.com/weareoutman/clockpicker/issues/26). Но никто, кажется, не имеет решения –

3

Кажется, есть родственный открытым вопрос о проекте GitHub:

https://github.com/weareoutman/clockpicker/issues/26

Не могли бы вы попробовать инициализировать плагин с AUTOCLOSE собственности с истинным значением?

$('#clock').clockpicker({ 
    autoclose: true 
}); 
+0

это исправление работает только если 'twelvehour: false', у вас есть какие-либо идеи, как исправить для' twelvehour: правда '? все это устанавливает время для 'PM' –

3

Я знаю, что через несколько месяцев поздно, но я нашел потенциального исправления. Изменение кнопок am/pm на divs вместо кнопок устраняет проблему, по крайней мере для меня. Я схватил обновленную версию кода от JordyMoos here. Это было проверено только в модуле bootstrap с использованием autoclose: true и twelvehour: true.

Под если (options.twelvehour) изменить следующие две строки, как показано:

$('<button type="button" class="btn btn-sm btn-default clockpicker-button am-button">' + "AM" + '</button>') 

Становится

$('<div class="btn btn-sm btn-default clockpicker-button am-button">' + "AM" + '</div>') 

и

$('<button type="button" class="btn btn-sm btn-default clockpicker-button pm-button">' + "PM" + '</button>') 

становится

$('<div class="btn btn-sm btn-default clockpicker-button pm-button">' + "PM" + '</div>') 

Эта проблема вызвана тем, что объект клика был обнаружен как .modal.fade.in вместо кнопки (кнопка сразу обнаруживается, но это не помогает, поскольку часы уже скрыты).

+0

Спасибо, сэр, ваше исправление работает, спасибо еще раз! –

+0

Спасибо за единственное решение, которое я нашел, что работает – DaveK

+0

Отличное решение. он также работает для '$ ('# clock'). clockpicker ({ autoclose: false });' – Dens