JQuery UI模式对话框:初始化之前无法调用方法

时间:2014-02-21 14:15:58

标签: c# jquery asp.net asp.net-mvc jquery-ui

我有以下内容:

$(function(){
    $('#dialog').dialog({ modal: true, buttons: { "Ok": function () { $('#dialog').dialog("close"); } } });
}

我尝试了许多不同形式的语法而没有运气。如果我使用$(this).dialog("close");我得到JS错误抱怨在init之前调用方法,但是当我使用$('#dialog').dialog("close")时,几乎工作。左上角会弹出对话框,按钮无法正常渲染 - 只需单击 时关闭的无文字圆圈 - 只有当我给出弹出焦点时才会进行模态覆盖出现。

在我的ASP.NET MVC视图中:

@{
    if (Model.response)
    {
        <div id="dialog" title="@Model.responseDialog.title"><p>@Model.responseDialog.content</p></div>
    }
} 

1 个答案:

答案 0 :(得分:1)

好的,您的代码可以正常运行。

scren grab

以下是尝试解决此问题的一些方法。

检查您的css和javascript文件

您需要相关的js和css文件,而不是重复或不同版本的jQuery。

您可以通过确保删除现有全部并将其替换为cdn版本来测试:

<link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css" />
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

调用对话框功能位于参考文献

之后

确保您的对话功能在上述参考之后。