错误:$(...)。对话框不是一个函数

时间:2016-08-15 14:46:34

标签: javascript jquery html

我正在尝试关闭$(document).ready函数

之外的对话框

当我尝试关闭它时出现此错误:

  

错误:TypeError:$(...)。dialog不是函数

当我在$(document).ready函数之外时,如何使用模态?

代码:

    $(document).ready(function ($) {
        function InitializeDialog($element) {

            $element.dialog({
                autoOpen: false,
                modal: false,
                width: 500,
                height: 150,
                resizable: false,

                close: function () {
                    $(this).dialog('destroy');
                }
            });

            $(".ui-dialog").find(".ui-dialog-titlebar").css({
                'background-image': 'none',
                'background-color': 'white',
                'border': 'none'
            });

        }

function UpdateProperty(propertyId, propertyName) {

        $.ajax({
            url: '/Home/UpdatePropertyByAjax',
            type: 'PUT',
            data: { PropertyId: propertyId, PropertyName: propertyName },
            success: function (response) {
                console.log(response);



                if (response > 0) {
                    $("#mytable tr").has("input[type=hidden][value=" + propertyId + "]").find("td:eq(0)").html(propertyName);
                }

$("#EditForm").dialog("close"); // Error happens here, The error message is 
Uncaught TypeError: $(...).dialog is not a function

                else {
                    alert('Property not updated');
                }

            },

            error: function (msg) {
                console.log(msg.responseText);
                alert(msg.responseText);
            }
        });

    }

    }
</script>

2 个答案:

答案 0 :(得分:0)

您的jQuery实现有问题。您可以使用以下代码执行相同的操作:

window.ready(function(){

    });

答案 1 :(得分:0)

如果您需要重复使用它,请将其移到function showModal() { //your code here } $(document).ready(function() { showModal(); }); showModal(); //both should fire 处理程序之外

$('#EditForm')

还要确保{{1}}返回一个元素。您无法对从DOM中提取的元素进行对话