Сделать bootstrap popover работать с настраиваемым шаблоном html
Я использую текстовое поле ввода ввода, и мне нужно, чтобы Popstock 3 popover работал, и шаблон popover должен быть определен & n, разработанный мной.
Итак, html, который у меня есть со мной, это:
<div class="row">
<div class="col-sm-2">
<div class="input-group">
<input type="text" class="form-control jq-timePicker" value="09:30">
<span class="input-group-addon" rel="popover">
<span class="glyphicon glyphicon-time"></span>
</span>
</div>
</div>
</div>
Я хочу, чтобы popover открывался при щелчке значка группы ввода. В этом случае, когда щелчок по шагу с глифом-символом класса происходит, popover отображается или отображается со следующим HTML:
<div class="timePickerWrapper popover">
<div class="arrow"></div>
<div class="popover-content">
<div class="timePickerCanvas"></div>
<div class="timePickerClock timePickerHours"></div>
<div class="timePickerClock timePickerMinutes"></div>
</div>
</div>
JS написано:
$(document).ready(function () {
var popoverTemplate = ['<div class="timePickerWrapper popover">',
'<div class="arrow"></div>',
'<div class="popover-content">',
'<div class="timePickerCanvas"></div>',
'<div class="timePickerClock timePickerHours"></div>',
'<div class="timePickerClock timePickerMinutes"></div>',
'</div>',
'</div>'].join('');
$('body').popover({
selector: '[rel=popover]',
trigger: 'click',
template: popoverTemplate,
placement: "bottom",
html: true
});
});
Смотрите здесь скрипку: http://www.bootply.com/4fMzxGRpik
Кто-нибудь может помочь мне исправить ошибку, которую я делаю, и что нужно сделать, чтобы отобразить popvhover.
Ответы
Ответ 1
вам не хватает содержимого popover, вам понадобится что-то вроде этого
$(document).ready(function () {
var popoverTemplate = ['<div class="timePickerWrapper popover">',
'<div class="arrow"></div>',
'<div class="popover-content">',
'</div>',
'</div>'].join('');
var content = ['<div class="timePickerCanvas">asfaf asfsadf</div>',
'<div class="timePickerClock timePickerHours">asdf asdfasf</div>',
'<div class="timePickerClock timePickerMinutes"> asfa </div>', ].join('');
$('body').popover({
selector: '[rel=popover]',
trigger: 'click',
content: content,
template: popoverTemplate,
placement: "bottom",
html: true
});
});
Рабочая демонстрация
Ответ 2
Я бы предпочел иметь весь HTML в шаблонах. Это выглядит так:
Что-то в Javascript
$(".btn").popover({
template: $("#selector").html(),
placement: "auto"
});
И в HTML
<div id="selector">
Anything you want in your popovers, either dynamic or static
<div>
Ответ 3
@code-jaff - отличный ответ, но я заметил, что Popup рабочего Demo не похоже, что он выходит из кнопки. Если это происходит с кем-либо еще, попробуйте добавить контейнер: "тело" в параметры popover. Вот так:
$('body').popover({
selector: '[rel=popover]',
trigger: 'click',
content: content,
template: popoverTemplate,
placement: "bottom",
html: true,
container: 'body'
});