Сложность с некоторыми решениями здесь, то есть с настройкой высоты auto, заключается в том, что вы теряете хорошее поведение simplemodal, чтобы поддерживать модальный размер меньше текущего размера окна (например, устанавливая maxHeight равным 90%).
Я предложил следующее решение:
$.modal.defaults.onShow = function(dialog) {
if (!dialog) dialog = $.modal.impl.d
dialog.container.css('height', 'auto');
dialog.origHeight = 0;
$.modal.setContainerDimensions();
$.modal.setPosition();
}
Суть этого в том, что после запуска setContainerDimensions на активном модале он не будет пересчитывать их, если вы извлечете новый контент, даже с явным вызовом setContainerDimensions. То, что я делаю здесь, это обойти запомненную высоту и принудительно пересчитать.
Вам, конечно, придется вызывать $ .modal.defaults.onShow каждый раз, когда вы изменяете содержимое (вызов ajax, изменение вкладки и т. Д.), Но вы можете сохранить возможности autoResize и autoPosition, избегая при этом ненужных полос прокрутки.