У меня есть открытие modalDialog со страницы jsp, которое извлекает данные из базы данных и показывает их (на modalDialog) в виде простой таблицы.Теперь, при вызове модального всплывающего окна из jsp, я указываю его ширину и высоту, но я хочу, чтобы конечное всплывающее окно имело высоту, достаточную только для хранения таблицы (т. Е. Высота таблицы может отличаться, если можно получить больше строк),Мне нужно сделать это изменение размера только один раз при полной загрузке всплывающего окна modalDialog.Но я никак не могу понять.Я пробовал разные опции в обработчике $ (document) .ready, но безрезультатно.
Вот как я вызываю modalDialog в родительском jsp:
var varURL = "${pageContext.request.contextPath}/myController/actionStatus.htm?Transaction_id="+trans_id;
if (window.showModalDialog) {
window.showModalDialog(varURL, "popupActionStatus", "dialogWidth:521px; dialogHeight:400px");
closeAllPopups();
} else {
window.open(varURL, 'popupActionStatus', 'height=400, width=600, toolbar=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, modal=yes');
closeAllPopups();
}
Теперь мне нужно изменить размер этого всплывающего окна при загрузке в соответствии с высотой таблицы, в которой оно содержится:
Сценарий:
$(document).ready(function() {
jQuery('.popupStatusDetails').show();
$("#actionStatusPopupTable").tablesorter({
cancelSelection : true
});
});
И тело всплывающего окна выглядит примерно так:
<body>
<div class="popupStatusDetails" style="top: 0%;left: 0%" id="div1">
<table id="actionStatusPopupTable" width="100%" border="0" cellpadding="0" cellspacing="1" class="tableborder">
<thead>
<tr> Headers here </tr>
</thead>
<tbody>
<tr> Data rows here </tr>
<tr> Data rows here </tr>
<tr> Data rows here </tr>
...........
</tbody>
</table>
</div>
</body>
Я пытался использовать это также в window.load, document.ready и т. Д.,но не могу найти никакого решения:
window.dialogHeight = document.getElementById("popupStatusDetails").style.height;
Я думаю, что эти вещи не работают, потому что это modalDialog, но тогда наверняка должен быть какой-то способ: (