在将autoOpen设置为false后,我在jquery-ui对话框中显示按钮时遇到问题。
我使用这样的按钮设置对话框。
$(document).ready(function() {
$("#dialog-form").dialog({
autoOpen: false,
modal: true,
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
});
});
点击页面上的其他内容后,我运行此行打开我的对话框。
$("#dialog-form").dialog("open");
但是,对话框不显示任何按钮。我发现如果我设置autoOpen: true
,则会在对话框立即打开时显示按钮。如何通过调用打开对话框(即设置autoOpen: false
),如何显示按钮?
答案 0 :(得分:2)
根据API,原始代码也应该起作用: API的一个例子:
....
<script>
$( "#dialog" ).dialog({ autoOpen: false });
$( "#opener" ).click(function() {
$( "#dialog" ).dialog( "open" );
});
</script>
...
我没有看到代码在文档就绪时初始化...如果代码未在文档准备就绪时初始化,则包含该小部件标签的部分尚未加载,并且该小部件将不会被初始化。调用$( "#dialog-form" ).dialog( "open" );
时,将应用新的初始化,因此按钮不会出现。
将您的JS初始代码放在document.ready section
中$(function() {
$("#dialog-form").dialog({
autoOpen: false,
modal: true,
buttons: {
Ok: function() {
$(this).dialog("close");
}
}
});
});