Jquery Dialog - объект не поддерживает это свойство или метод - PullRequest
3 голосов
/ 03 марта 2011

Мой этот код работал нормально, пока я не обновил Jquery до более новой версии. Теперь я получаю ошибку выше.

 <link rel="stylesheet" type="text/css" href="site.css" />
    <link type="text/css" href="css/smoothness/jquery-ui-1.8.10.custom.css" rel="stylesheet" />
    <link rel="stylesheet" type="text/css" href="css/ddsmoothmenu.css" />   
     <script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
    <script type="text/javascript" src="js/jquery-ui-1.8.10.custom.min.js"></script>    
    <script type="text/javascript" src="js/ddsmoothmenu.js"></script>

    <script type="text/javascript">    
         $(document).ready(function(){     
                $('#dialog').dialog({
                    modal: true,
                    autoOpen: false,
                    width: 760,
                    height: 'auto',             
                    close: function(event, data) {
                        $('#mainFrame')[0].src = "LoadingPage.aspx";
                    }
                });
                $('a[name="dia"]').click(function(){
                    $('#mainFrame')[0].src = this.file;
                    $('#dialog').data('title.dialog', this.innerText); 
//                    $('#dialog').data('width.dialog', this.diaWidth); 
//                    $('#dialog').data('height.dialog', this.diaHeight); 
                    $('#dialog').dialog('open');
                    return false;
                });             

                if (document.getElementById('hidIsAdmin').value == "1"){
                    document.getElementById('liAdmin').style.display = 'block';
                    document.getElementById('liReports').style.display = 'block';
                }else {
                    $('#liAdmin').remove();
                    $('#liReports').remove();

                }
                if (document.getElementById('hidCreate').value == "1"){
                    document.getElementById('liCreate').style.display = 'block';
                }else {
                    $('#liCreate').remove();
                    $('.edit_icon_link').hide(0);                   
                }
            });
            function hideEditIcon(){
                $('.edit_icon_link').hide(0);                   
            }            
    </script>

Ответы [ 5 ]

3 голосов
/ 20 апреля 2011

У меня было нечто подобное (преобразование MVC3 ASP в Razor), и в моем случае мне помогло перемещение моей ссылки jquery-1.4.4.min.js на мою главную страницу.

Я говорю "помог" , потому что теперь открытое работает, а $(this).dialog("close"); нет.

function ShowPopUp(strDivName)
{
    $("div[id$='" + strDivName + "']").dialog(
        {
            title: "blah blah blah",
            width: 600,
            modal: true,
            resizable: true,
            closeOnEscape: false,
            buttons:
            {
                "Save": function () { SaveThis(); $(this).dialog("close"); },
                "Cancel": function () { $(this).dialog("close"); }
            }
        }
    );
    $("div[id$='" + strDivName + "']").dialog("open");
}
0 голосов
/ 02 апреля 2013

Я сейчас использую MVC4. Поэтому мне пришлось добавить jquery-ui-1.8.20.js к BundleConfig.RegisterBundles() в App_Start, чтобы заставить его работать:

bundles.Add( new ScriptBundle( "~/bundles/jquery" ).Include(
  "~/Scripts/jquery-{version}.js",
  "~/Scripts/jquery-ui-1.8.20.js" ) );
0 голосов
/ 11 февраля 2012

Я столкнулся с этой проблемой в IE8, потому что я был на странице HTTPS, но загружал пакет jquery-ui из HTTP CDN.Как только я изменил URL с

http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js

на

https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js

, он начал работать.

0 голосов
/ 03 марта 2011

Возможно ли, что вы не закрываете свой $(document).ready(function(){?

});, который вы показываете выше, закрывает $('#dialog').dialog({, но я не вижу закрытия $(document).ready(function(){.

0 голосов
/ 03 марта 2011

Проверьте параметры, доступные для диалога, я думаю, autoResize был переименован в resizable.

...