Jquery ui 如何在不指定html div的情况下使用jquery ui创建对话框
使用jquery ui创建对话框非常简单:Jquery ui 如何在不指定html div的情况下使用jquery ui创建对话框,jquery-ui,dialog,Jquery Ui,Dialog,使用jquery ui创建对话框非常简单: <script> $(function() { $( "#dialog" ).dialog(); }); </script> <div id="dialog" title="Basic dialog"> <p>This is the default dialog which is useful for displaying information. The dialog window c
<script>
$(function() {
$( "#dialog" ).dialog();
});
</script>
<div id="dialog" title="Basic dialog">
<p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p>
</div>
如果不在html部分中指定任何内容,那么jQueryUI可以做到这一点吗?(我必须在这里使用jquery ui)
谢谢
David基本代码
var d = $("#someId");
if (d.length < 1)
d = $("<div/>").attr("id", "someId")
.appendTo("body");
else
d.dialog('destroy');
d.html('some message')
.dialog({ some_options })
.dialog("open");
虽然我不确定您为什么要打开一个没有内容的对话框,但您可以轻松地动态创建一个新对话框,并对其调用jquery对话框:
$("<div>hello!</div>").dialog();
$(“你好!”).dialog();
Juan Ayalas解决方案应适用于模态对话框。
对于非模态对话框,最好跟踪函数内部的id。
我使用下面的代码,它不是完美的,但应该可以确保
id是唯一的。代码几乎与Juan Ayalas示例相同,但使用了一个计数器以避免重复id(此外,我删除了OK按钮作为默认值)
(函数($)
{
var dCounter=0;//本地但为“静态”变量
$扩展({
showPageDialog:功能(标题、内容、按钮、选项){
///在页面上显示对话框的实用程序。按钮和选项是可选的。
///对话框按钮。可选,默认为无(单个确定按钮)。
///附加jQuery对话框选项。可选。
如果(!按钮)
按钮={};//{“确定”:函数(){$(this).dialog(“close”);};
var除雾选项={
自动打开:错误,
宽度:“自动”,
莫代尔:错,
//表演:“盲人”,
//隐藏:“爆炸”,
标题:标题,,
按钮:按钮
};
如果(选项)
defOptions=$.extend(defOptions,options);
dCounter++;
//log(“dCounter是”+dCounter);
var pdId=“#pageDialog”+dCounter;
var pd=$(pdId);
如果(局部放电长度<1)
pd=$(“”).attr(“id”,pdId)
.附于(“主体”);
其他的
对话框(“销毁”);
pd.html(内容)
.对话框(除雾选项)
.对话框(“打开”);
}//函数结束showPageDialog
}//扩展选项结束
)//扩展参数结束
}//函数结束定义
感谢您的快速回复,我自己也找到了答案:-)var$dialog=$(''.html('每次都会显示此对话框!').dialog({autoOpen:false,title:'Basic dialog'});顺便说一句,我如何在对话框中打开url,这里变得贪婪:-)您使用load()jquery方法:$(“hello!”).load(url.dialog();此外,fancybox还提供了一些非常好的一流支持:(我个人最喜欢的)谢谢,但是.load(url).dialog()也会刷新主页,并给我错误:错误:尝试在清除的作用域上运行编译并执行脚本
var d = $("#someId");
if (d.length < 1)
d = $("<div/>").attr("id", "someId")
.appendTo("body");
else
d.dialog('destroy');
d.html('some message')
.dialog({ some_options })
.dialog("open");
(function($) {
$.extend({
showPageDialog: function (title, content, buttons, options) {
/// <summary>Utility to show a dialog on the page. buttons and options are optional.</summary>
/// <param name="buttons" type="Object">Dialog buttons. Optional, defaults to single OK button.</param>
/// <param name="options" type="Object">Additional jQuery dialog options. Optional.</param>
if (!buttons)
buttons = { "Ok": function () { $(this).dialog("close"); } };
var defOptions = {
autoOpen: false,
modal: true,
//show: "blind",
//hide: "explode",
title: title,
buttons: buttons
};
if (options)
defOptions = $.extend(defOptions, options);
var pd = $("#pageDialog");
if (pd.length < 1)
pd = $("<div/>").attr("id", "pageDialog")
.appendTo("body");
else
pd.dialog('destroy');
pd.html(content)
.dialog(defOptions)
.dialog("open");
}
}//end of function show...
)//end of extend Argument
})(jQuery)
$.showPageDialog(title, message, {
"Yes": function () {
$(this).dialog("close");
// do something for 'yes'
},
"No": function () {
// do something for no
}
}
$("<div>hello!</div>").dialog();
(function($)
{
var dCounter=0; //local but "static" var
$.extend({
showPageDialog: function (title, content, buttons, options) {
/// <summary>Utility to show a dialog on the page. buttons and options are optional.</summary>
/// <param name="buttons" type="Object">Dialog buttons. Optional, defaults to nothing (single OK button).</param>
/// <param name="options" type="Object">Additional jQuery dialog options. Optional.</param>
if (!buttons)
buttons = {}; //{ "Ok": function () { $(this).dialog("close"); } };
var defOptions = {
autoOpen: false,
width: "auto",
modal: false,
//show: "blind",
//hide: "explode",
title: title,
buttons: buttons
};
if (options)
defOptions = $.extend(defOptions, options);
dCounter++;
//console.log("dCounter is " + dCounter);
var pdId = "#pageDialog"+dCounter;
var pd = $(pdId);
if (pd.length < 1)
pd = $("<div/>").attr("id", pdId)
.appendTo("body");
else
pd.dialog('destroy');
pd.html(content)
.dialog(defOptions)
.dialog("open");
}//end of function showPageDialog
}//end of extend options
)//end of extend argument
}//end of function definition