Jquery对话框未定义

时间:2014-07-12 19:05:35

标签: asp.net-mvc-3 jquery-ui

我正在尝试在jquery对话框中打开asp.net mvc视图。

以下是我试图打开对话框的视图:

<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.0/jquery-ui.min.js"></script>

<script type="text/javascript">
    $(function () {
        $('#my-dialog').dialog({
            autoOpen: false,
            width: 400,
            resizable: false,
            modal: true
        });

        $('.modal').click(function () {
            $('#my-dialog').load(this.href, function () {
                $(this).dialog('open');
            });
            return false;
        });
    });
</script>
<div id="my-dialog"></div>

@Html.ActionLink("Add Question", "AddQuestionInPage", new { pageID = @ViewBag.PageID },new { @class = "modal" })

但它在控制台中显示此错误:

Uncaught TypeError: undefined is not a function 

它显示此行的错误:

$(this).dialog('open');

出了什么问题?为什么对话框未定义,因为我添加了jquery-ui文件。 Plz指导我, 感谢名单

2 个答案:

答案 0 :(得分:0)

当你遇到jQuery库的路径不一致或命令引用你的库的顺序时,这将是你将遇到的事情之一。

看看这个,我相信它可能会有所帮助:Uncaught TypeError: undefined is not a function on loading jquery-min.js

答案 1 :(得分:0)

最后,我设法通过执行以下操作在对话框中打开视图:

在布局文件中,我以这种方式订购了脚本:

<script src="@Url.Content("~/Scripts/jquery-1.5.1.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.js")"></script>

正如Karsten所说,感谢Karsten你的回答真的有帮助!

我替换了以下一行:

$(this).dialog('open');

用这个:

$('#my-dialog').dialog();

正如ZippyV在评论中所建议的那样。 Thanx ZippyV它帮助了! 感谢名单。 。