0

我知道这里还有很多其他类似的问题,但没有一个能解决我的问题。

我正在尝试创建一个对话框,提示用户选择是离开页面(并继续他们刚刚单击的链接)丢失他们在文本区域中输入的文本,还是留在页面上。

许多其他答案说要检查对 JQuery 的引用是否重复,所以我删除了所有引用并将以下内容放在我的 _Layout.cshtml 页面的顶部。

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

其他答案还查看了是否包含 UI 的相关部分。我相信上述参考包括一切?

所以这是我的脚本,包含在相关页面的底部,以及 div(我从另一个关于如何创建对话框的答案中获得了 div 和脚本)。我已经包含了我的其他脚本,以防引起问题。

<div id="dialog" title="Confirmation Required">
  Are you sure about this?
</div>

<script type="text/javascript">    
    $(document).ready(function ()
    { 
        $("#dialog").dialog({
            modal: true,
            bgiframe: true,
            width: 500,
            height: 200,
            autoOpen: false
        });

        $("a.profile").click(function (e) {
            e.preventDefault();
            var hrefAttribute = $(this).attr("href");

            $("#dialog").dialog('option', 'buttons', {
                "Confirm": function () {
                    window.location.href = hrefAttribute;
                },
                "Cancel": function () {
                    $(this).dialog("close");
                }
            });

            $("#dialog").dialog("open");
        });

        $('a.ico').click(function (event) {
            expandTextArea();
        });
        $('textarea#notes').blur(function () {
            expandTextArea();
        });
    });    

    function expandTextArea()
    {
        $("textarea#notes").height($("textarea#notes")[0].scrollHeight);
    }
</script>

如果有人能指出哪里出了问题,或者给我一个更好的解决方案来创建我的确认对话框,我将不胜感激。

先感谢您。

添加:

这是我在 Chrome 的控制台中遇到的错误:

Uncaught TypeError: Object [object Object] has no method 'dialog'     person:403
(anonymous function)                                                  person:403
c                                                                     jquery.min.js:4
p.fireWith                                                            jquery.min.js:4
x.extend.ready                                                        jquery.min.js:4
q                                                                     jquery.min.js:4

Person 是页面 index.cshtml 中包含 jquery 的部分页面。

@Html.Partial("_Person", Model.Person);
4

0 回答 0