#jquery #jquery-ui #jquery-ui-dialog
#jquery #jquery-пользовательский интерфейс #jquery-пользовательский интерфейс-dialog
Вопрос:
Я новичок в jQueryUI, и хотя у меня работает диалоговое окно, оно открывается не в том размере, который, как мне кажется, я указываю. Почему настройка ширины и высоты при определении диалогового окна не влияет на начальный размер диалогового окна? Как мне сделать его размером 600 на 500 пикселей?
Вот div, который определяет диалоговое окно:
<div id="dialog-form" title="Create Appointment">
<form> . . . </form>
</div>
Вот JavaScript, который превращает его в диалог:
$(function() {
$("#dialog-form").dialog({
autoOpen: false,
maxWidth:600,
maxHeight: 500,
width: 600,
height: 500,
modal: true,
buttons: {
"Create": function() {
$(this).dialog("close");
},
Cancel: function() {
$(this).dialog("close");
}
},
close: function() {
}
});
И JavaScript, который определяет кнопку для его открытия:
$("#create-appt")
.button()
.click(function() {
$("#dialog-form").dialog("open");
});
});
Редактировать:
Теперь я вижу проблему: это сработало бы нормально, за исключением того, что я запускал его в Google Chrome, используя --app=...
параметр командной строки, поэтому он не перезагружал все приложение.
Ответ №1:
Вопрос: Почему настройка ширины и высоты при определении диалогового окна не влияет на начальный размер диалогового окна?
Ответ: Это так… какой браузер вы используете и версию jQuery.
Я вырезал / вставил ваш код сверху в небольшой образец, и он отлично сработал… Я вставил полный образец ниже, вы можете попробовать его на своей стороне.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>jQuery UI Example Page</title>
<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.11.custom.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.11.custom.min.js"> </script>
<script type="text/javascript">
$(document).ready(function () {
$(function() {
$("#dialog-form").dialog({
autoOpen: false,
maxWidth:600,
maxHeight: 500,
width: 600,
height: 500,
modal: true,
buttons: {
"Create": function() {
$(this).dialog("close");
},
Cancel: function() {
$(this).dialog("close");
}
},
close: function() {
}
});
});
$("#create-appt")
.button()
.click(function() {
$("#dialog-form").dialog("open");
});
});
</script>
</head>
<body>
<h1>test</h1>
<div id="dialog-form" title="Create Appointment">
<p> this is my test </p>
</div>
<input type="button" id="create-appt" value="test"/>
</body>
</html>
Комментарии:
1. Именно так: это работало. Смотрите мою правку выше по причине, по которой я не смог ее увидеть.
Ответ №2:
Я не знаю точно, что это происходит, но вы можете немного изменить свой код, и это приведет к ожидаемому результату:
Вместо использования автозапуска вы можете установить эти параметры в событии onclick:
$("#create-appt")
.button()
.click(function() {
$("#dialog-form").dialog({width: 600,height:500});
});
Я надеюсь, что это поможет
с наилучшими пожеланиями,
Марсело Висмари
Комментарии:
1. Я пробовал это таким образом ранее, и получилось то же самое; причину смотрите в моей последней правке.