JQuery Dialog Modal Popup昨天工作但不是今天

时间:2012-10-11 21:16:19

标签: jquery jquery-dialog

我正在使用JQuery Dialog的Modal Popup功能,现在已经使用了大概5-6个月。直到今天我一直没有遇到任何问题。一切都在我的计算机上工作正常,但另一名员工正在收到JQuery错误,弹出窗口将无法显示。昨天它正在为他工作,并且没有对代码库进行任何更改。

我正在使用Chromes inspect元素选项,而他遇到的错误就像“('div')没有'parent()'函数”。我明白这个错误意味着什么,但我不知道为什么它首先出现。我检查的所有其他计算机都工作正常。此外,它与浏览器无关。打破了IE,FF和Chrome。

我知道今天早上有一个Windows更新对我来说,但我无法想象Windows更新会破坏JQuery的功能。有什么想法可以在这里发生吗?

function ModalPopup(divId, parentId, isExtender) {
if (isExtender == "True") {
    ModalPopupExtender(parentId, divId);
    return;
}

var div = document.getElementById(divId);

//Disable any datepickers on the popup otherwise they will display on load
var datePickers = $(div).find("input[class='datePicker hasDatepicker']");
datePickers.each(function (index) {
    $(this).datepicker('disable');
});

//Find the buttons on the div
var buttons = $(div).find("input[type='submit']");
buttons.each(function (index) {

    $(this).click(function () {
        Cancel(divId);
        //$(div).dialog("close");
    });

    $(this).attr("style", "padding:5px; margin:5px; color:#696969; background-color:#EEE; border-radius:6px;");
});

//Create a footer div, add the buttons to the div
$footerDiv = $('<div style="height:40px;" />');
for (var i = 0; i < buttons.length; ++i) {
    $footerDiv.append(buttons[i]);
}

//Add a canel button that closes the popu
$cancelBtn = $('<input type="button" style="padding:5px; margin:5px; color:#696969; background-color:#EEE; border-radius:6px;" value="Cancel" onclick="Cancel(\'' + divId + '\')" />');
$footerDiv.append($cancelBtn);

//Display the div with the info
$(div).attr("style", "display:block; font-size: 11px;");

//Display the dialog box
$(div).dialog({ minWidth: 300,
    minHeight: 150,
    maxHeight: 400,
    draggable: false,
    resizeable: false,
    modal: true,
    buttons:
    {
        'Cancel': function () {
            $(div).dialog("close");
        }
    },
    open: function (e, ui) {
        $(e.target).parent().find('span').filter(function () {
            return $(this).text() === 'Cancel';
        }).parent().replaceWith($footerDiv);

        //Adjust the width for IE
        var version = getInternetExplorerVersion();
        if (version != -1 && version < 8.0) {
            $(e.target).dialog('option', 'width', ($(e.target)[0].scrollWidth + 50) + 'px');
        }
        else
            $(e.target).dialog('option', 'width', 'auto');

        //Adjust the height if the dialog is too big
        if ($(div).height() > 800)
            $(e.target).dialog('option', 'height', 800);
        $(e.target).dialog('option', 'position', 'center');
    }
});

//Hide the title bar
$(div).dialog().parents(".ui-dialog").find(".ui-dialog-titlebar").hide();
$(div).parent().appendTo(jQuery("form:first"));

//Enable the datepickers again after the dialog has opened
datePickers.each(function (index) {
    $(this).datepicker('enable');
});

//Style any select boxes to be the width of their container
$(div).find("select:[multiple]").each(function () {
    $(this).width("100%");
});

}

编辑另外值得注意的是,如果我点击按钮显示弹出窗口,它会给我一条快速错误消息,然后只刷新页面。

0 个答案:

没有答案