2 ¢ hızlı genel düzeltmem:
(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);
})
})();
Açıklamalar: Bir ".table-responsive" içinde bir açılır menü gösterildiğinde, tablonun yüksekliğini hesaplar ve menüyü görüntülemek için gereken yüksekliğe uyacak şekilde (dolgu ile) genişletir. Menü herhangi bir boyutta olabilir.
Benim durumumda, bu '.table-responsive' sınıfına sahip tablo değil, bu bir sarmalama div:
<div class="table-responsive" style="overflow:auto;">
<table class="table table-hover table-bordered table-condensed server-sort">
Yani betikteki $ table var aslında bir div! (açık olmak gerekirse ... ya da değil) :)
Not: IDE'min işlevi daraltabilmesi için onu bir işleve sarıyorum;) ama bu zorunlu değil!