Ответ 1
Убедитесь, что вы используете ui.resizable.js и ui.resizable.css
Я пытаюсь изменить ширину диалогового окна JQuery после его инициализации. Вот моя инициализация:
$(function() {
$("#dialogContainer").dialog({
title: 'Some title',
resizable: false,
bgiframe: true,
overlay: { opacity: 0.3, background: "white" },
position: [200, 200],
autoOpen: false,
height: 150,
width: 'auto'
modal: true,
buttons: {
'ok': function() {
$(this).dialog('close');
}
}
});
});
И это то, что я делаю, чтобы изменить его ширину в некоторой другой функции:
$("#dialogBox").dialog('option','width',700);
Но это не работает. Ширина диалога - это ширина абзаца, который сначала отображается в нем. Предполагаю ли я сделать что-нибудь еще?
Вот html для диалога:
<div id = 'dialogContainer'>
<p id = 'message'></p>
</div>
Убедитесь, что вы используете ui.resizable.js и ui.resizable.css
Попробуйте следующее:
$("#dialogID").data("width.dialog", 160);
$("#dialogID").css("width", 160);
ЗДЕСЬ КОРОТКОЕ РЕШЕНИЕ, но помните, что это только для предопределенного диалога.
$( "#dialog" ).dialog({minHeight: 300,minWidth:500});
Инициализировать диалоговое окно с указанной опцией ширины: Ширина диалога находится в пикселях.
$( "#dialogBox" ).dialog({ width: 500 });
Получить или установить параметр ширины после инициализации:
// getter
var width = $( "#dialogBox" ).dialog( "option", "width" );
// setter
$( "#dialogBox" ).dialog( "option", "width", 500 );
Источник: http://api.jqueryui.com/dialog/
Это работает для меня. Дело в том, чтобы изменить размер после, чтобы открыть его:
$('#dialogContainer').
dialog('open').
dialog('option', 'width', 'auto').
dialog('option', 'height', 'auto');
Версия jQuery в моем случае - 1.11:
> Query.fn.jquery
> "1.11.1"
$("#dialogweb").dialog({width:'90%'});