对我来说似乎工作正常,如果您需要进一步的帮助,您将需要发布您的代码。我唯一要做的就是为对话框指定增加的高度和宽度,以便更好地显示内容。
我能想到的唯一复杂情况是,如果您通过 AJAX 加载对话框的内容,那么$(document).ready()
可能不会正确初始化选项卡。
JSFiddle 示例:http: //jsfiddle.net/geekman/9WBJt/3/
$(document).ready(function() {
$('#tabs').tabs();
$('#modal').dialog({
height: 500,
width: 600,
});
});
动态加载对话框内容
这是根据您提供的附加信息进行的修改。
所以你的基本想法是做这样的事情:
- 单击链接/按钮,这将触发您的代码以获取对话框的内容
- 希望您拥有的代码允许您传递所谓的回调函数。您可以在此处指定一个函数,该函数将在您的内容完成加载(或任何其他任务)后自动调用。
- 在您的回调函数中,您可以初始化选项卡并显示对话框。
所以是这样的:
<button type="button" id="my-link">Load Me!</button>
<div id="dialog">
<div id="dialog-content">
</div>
</div>
$(document).ready(function() {
$('#my-link').click(function () {
//Begin loading your content however you do it.
//In this case I'm using AJAX because it's one of the most common ways to dynamically load content in JavaScript
$.get('http://url-to-your-content.com/my-template', '',
//We can use an anonymous function as our callback function, or define it seperately then call it here.
//$.get() will call it, and put the contents of my-template in the result variable for us to use.
function (result) {
//Insert the result into the div ID dialog-content (I'm assuming the fetched data is HTML).
var dialog_content = $('#dialog-content');
dialog_content.html(result);
//Now, render the HTML in dialog-content as JUI tabs
dialog_content.tabs();
//How display your dialog box
$('#dialog').dialog();
}, 'html');
});
$('#tabs').tabs();
$('#modal').dialog({
height: 500,
width: 600,
});
});