2 ¢ perbaikan global cepat saya:
(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);
})
})();
Penjelasan: Ketika menu dropdown di dalam '.table-responsive' ditampilkan, ia menghitung tinggi tabel dan meluaskannya (dengan padding) agar sesuai dengan ketinggian yang diperlukan untuk menampilkan menu. Menu bisa dalam berbagai ukuran.
Dalam kasus saya, ini bukan tabel yang memiliki kelas '.table-responsive', ini adalah div pembungkus:
<div class="table-responsive" style="overflow:auto;">
<table class="table table-hover table-bordered table-condensed server-sort">
Jadi $ table var di skrip sebenarnya adalah div! (hanya untuk memperjelas ... atau tidak) :)
Catatan: Saya membungkusnya dalam sebuah fungsi sehingga IDE saya dapat menciutkan fungsi;) tetapi itu tidak wajib!