Jquery UI:对话框不是函数错误

Jquery UI:对话框不是函数错误,jquery,jquery-ui,jquery-ui-dialog,Jquery,Jquery Ui,Jquery Ui Dialog,例如,我通过newDialog(“这是标题!”,“这是我的内容”)调用它 function newDialog(mytitle, mycontent){ var $dialog = $('<div id="mydialog"></div>') .html(mycontent) .dialog({ autoOpen: false, modal: false, tit

例如,我通过
newDialog(“这是标题!”,“这是我的内容”)调用它

function newDialog(mytitle, mycontent){
   var $dialog = $('<div id="mydialog"></div>')
        .html(mycontent)
        .dialog({
            autoOpen: false,
            modal: false,
            title: mytitle
        });
    $dialog.dialog('open');
    return false
}
对于更新的问题:当这样称呼它时,您仍然存在与bfeore相同的问题:

$(document).click(newDialog);
它在没有任何参数的情况下被调用,这意味着
.html()
仍在传递
未定义的
。您需要传递参数,例如:

$(document).click(function() { newDialog("Title", "Content"); });
或者为参数提供一些默认值,例如:

function newDialog(mytitle, mycontent){
  mytitle = mytitle || "Default Title";
  mycontent = mycontent || "Default Content";

原问题: 您的变量名称已关闭,这是:

.html(mycontent)
应该是:

.html(mycon)
目前,由于未定义,它正在调用
.html()
以获取返回的字符串,而不是设置html。标题也是如此,您的参数是
mytit
,您尝试使用的变量是
mytitle
,,用于更新问题:当这样调用它时,您仍然存在与bfeore相同的问题:

$(document).click(newDialog);
它在没有任何参数的情况下被调用,这意味着
.html()
仍在传递
未定义的
。您需要传递参数,例如:

$(document).click(function() { newDialog("Title", "Content"); });
或者为参数提供一些默认值,例如:

function newDialog(mytitle, mycontent){
  mytitle = mytitle || "Default Title";
  mycontent = mycontent || "Default Content";

原问题: 您的变量名称已关闭,这是:

.html(mycontent)
应该是:

.html(mycon)

目前,由于未定义,它正在调用
.html()
以获取返回的字符串,而不是设置html。标题也是如此,您的参数是
mytit
,您尝试使用的变量是
mytitle

检查
对话框
插件是否正确安装。不应该有任何其他原因导致这不起作用


请允许我借此机会无耻地自我推销,为您提供另一种选择。我编写了一个jQuery插件,它可以完成您想要做的事情。如果您感兴趣,它是开源的:

检查
对话框
插件是否正确安装。不应该有任何其他原因导致这不起作用


请允许我借此机会无耻地自我推销,为您提供另一种选择。我编写了一个jQuery插件,它可以完成您想要做的事情。如果您感兴趣,它是开源的:

不幸的是,我希望这是一个简单的变量命名问题。我确保使用了相同的变量,并且出现了相同的错误。@Kim-在这种情况下,您仍然没有传递任何参数,这意味着它仍然未定义,导致了相同的错误,您必须实际传递
mycontent
参数,或者给它一个默认值……否则它将是
未定义的
。我很感激你的否决票……在你纠正了一个方面之后,你拒绝了答案,但你仍然有同样的问题,你把
未定义的
传递给
.html(var)
。叹气。我写了那个快速的例子,但写得不好。这就是为什么你在解决错误的问题。我的错误,修复了原始示例代码。然而,错误仍然接踵而至。我不知道为什么jquery-ui.js几乎没有加载,但firebug显示它已经加载了。@Kim-你看过我更新的答案了吗?这是同样的问题,传递给
.html(var)
的变量是
未定义的
,即使在您当前的问题中也是如此。另外,当你投反对票有理由时,错误的问题(当答案修正该问题时)并不是一个真正有效的理由,并且会让人们在将来拒绝回答你的问题:)我投反对票是因为你陈述了显而易见的问题,而不是真正解决了预期的问题。然而,这是一个写得不好的例子,所以我明白为什么你会生气,因为你确实为这个写得不好的例子提供了一个正确的解决方案。最后,什么也解决不了。无论如何,我已经投了赞成票,但不会像现在这样接受这个答案。不幸的是,我希望这是一个简单的var命名问题。我确保使用了相同的变量,并且出现了相同的错误。@Kim-在这种情况下,您仍然没有传递任何参数,这意味着它仍然未定义,导致了相同的错误,您必须实际传递
mycontent
参数,或者给它一个默认值……否则它将是
未定义的
。我很感激你的否决票……在你纠正了一个方面之后,你拒绝了答案,但你仍然有同样的问题,你把
未定义的
传递给
.html(var)
。叹气。我写了那个快速的例子,但写得不好。这就是为什么你在解决错误的问题。我的错误,修复了原始示例代码。然而,错误仍然接踵而至。我不知道为什么jquery-ui.js几乎没有加载,但firebug显示它已经加载了。@Kim-你看过我更新的答案了吗?这是同样的问题,传递给
.html(var)
的变量是
未定义的
,即使在您当前的问题中也是如此。另外,当你投反对票有理由时,错误的问题(当答案修正该问题时)并不是一个真正有效的理由,并且会让人们在将来拒绝回答你的问题:)我投反对票是因为你陈述了显而易见的问题,而不是真正解决了预期的问题。然而,这是一个写得不好的例子,所以我明白为什么你会生气,因为你确实为这个写得不好的例子提供了一个正确的解决方案。最后,什么也解决不了。无论如何,我已经投了赞成票,但我不会接受现在的答案。你知道,我总是乐于接受更好的解决方案。谢谢你的建议,我会看看的。你是对的,不应该有任何其他原因导致这不起作用,是的,不是代码,而是运行在另一个应用程序上的javascript,应用程序本身导致了问题。在其他地方测试了相同的javascript,运行良好!你知道我总是乐于接受更好的解决方案。谢谢你的建议,我会看看的。你是对的,不应该有任何其他原因导致这不起作用,是的,不是代码,而是运行在另一个应用程序上的javascript,应用程序本身导致了问题。在其他地方测试了相同的javascript,运行良好!