Come dire il bootstrap documents, non ci sono opzioni per i menu a discesa ... Questo è triste, ma significa che attualmente non esiste una soluzione di "bootstrap" per la funzionalità desiderata. Vi è ora, tuttavia, una soluzione nel kit Angular-UI/Bootstrap se la si sta usando. Il ticket a cui si fa riferimento è chiuso perché era finalmente added to the Angular-UI a partire dal 15 luglio 2015.
Tutto quello che devi fare è 'Aggiungi dropdown-append-to-body all'elemento a discesa per aggiungere al menu a discesa interno al corpo. Questo è utile quando il pulsante a discesa è all'interno di un div con overflow: nascosto, e il menu sarebbe altrimenti nascosto. ' (reference)
<div class="btn-group" dropdown dropdown-append-to-body>
<button type="button" class="btn btn-primary dropdown-toggle" dropdown-toggle>Dropdown on Body <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div>
Spero che questo aiuti!
EDIT
Nel tentativo di rispondere a un'altra domanda SO, ho trovato una soluzione che funziona abbastanza bene, se non si sta utilizzando Angular-UI. Potrebbe essere "hacky", ma non rompere la funzionalità del menu di bootstrap, e sembra giocare bene con la maggior parte dei casi di utilizzo per cui l'ho usato.
Quindi lascerò un po 'di violini nel caso in cui qualcun altro lo veda ed è interessato. Il primo illustra il motivo per cui l'uso di un menu del corpo aggiunto potrebbe essere bello, il secondo mostra la soluzione di lavoro:
Problem FIDDLE
Il problema: un menu a discesa selezionare all'interno di un corpo pannello
<div class="panel panel-default">
<div class="panel-body">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span data-bind="label">Select One</span> <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Item 1</a></li>
<li><a href="#">Another item</a></li>
<li><a href="#">This is a longer item that will not fit properly</a></li>
</ul>
</div>
</div>
</div>
Solution FIDDLE
(function() {
// hold onto the drop down menu
var dropdownMenu;
// and when you show it, move it to the body
$(window).on('show.bs.dropdown', function (e) {
// grab the menu
dropdownMenu = $(e.target).find('.dropdown-menu');
// detach it and append it to the body
$('body').append(dropdownMenu.detach());
// grab the new offset position
var eOffset = $(e.target).offset();
// make sure to place it where it would normally go (this could be improved)
dropdownMenu.css({
'display': 'block',
'top': eOffset.top + $(e.target).outerHeight(),
'left': eOffset.left
});
});
// and when you hide it, reattach the drop down, and hide it normally
$(window).on('hide.bs.dropdown', function (e) {
$(e.target).append(dropdownMenu.detach());
dropdownMenu.hide();
});
})();
EDIT Ho finalmente trovato dove ho trovato questa soluzione originariamente.Devo dare il merito di dove credit is due!
Hai provato qualcosa? Un violino starter sarebbe utile. – isherwood
Qualunque cosa proverei sarebbe un "hack". Sto "Mi chiedo se è possibile" con il bootstrap stesso. – Alvaro