моє 2 global швидке глобальне виправлення:
(function () {
$('.table-responsive').on('shown.bs.dropdown', function (e) {
var $table = $(this),
$menu = $(e.target).find('.dropdown-menu'),
tableOffsetHeight = $table.offset().top + $table.height(),
menuOffsetHeight = $menu.offset().top + $menu.outerHeight(true);
if (menuOffsetHeight > tableOffsetHeight)
$table.css("padding-bottom", menuOffsetHeight - tableOffsetHeight);
});
$('.table-responsive').on('hide.bs.dropdown', function () {
$(this).css("padding-bottom", 0);
})
})();
Пояснення: Коли відображається випадаюче меню всередині ".table-responsive", воно обчислює висоту таблиці та розширює її (з доповненням) відповідно до висоти, необхідної для відображення меню. Меню може бути будь-якого розміру.
У моєму випадку це не таблиця, яка має клас '.table-responsive', це пакувальний div:
<div class="table-responsive" style="overflow:auto;">
<table class="table table-hover table-bordered table-condensed server-sort">
Отже, var таблиця $ у сценарії насправді є div! (просто щоб було зрозуміло ... чи ні) :)
Примітка: Я обертаю його у функцію, щоб мій IDE міг згортати функцію;), але це не обов'язково!