Simpledialog2 Uncaught TypeError: Невозможно прочитать свойство 'sdIntContent' из неопределенного

Я работал на jquery mobile и использовал simpledialog2 для создания диалогов.

Мой код

<li><a href="#" data-rel="dialog" onclick="return openpopup();" style="font-weight:normal;">Register</a></li>



function openpopup() {
    $('#mobile-login-panel').simpledialog2({
       autoOpen: false,
    resizable: true,
    height: 'auto',
    headerText: 'Sign in',
    headerClose: true,
    width:'auto',
    headerClose: true,
        blankContent:"SomeHtml"


    });
    $("div.ui-simpledialog-container ").appendTo($("form#frmdiaLogin"));
    return false;
    }

Теперь этот диалог открывается правильно. Но при закрытии выдает ошибку

$.mobile.sdCurrentDialog.sdIntContent.find('select').each(function() {

Какие-либо решения?

1 ответ

Единственный способ исправить это - использовать несжатую версию SimpleDialog2.js и изменить следующее:

if ( self.options.mode === 'blank' ) {
        $.mobile.sdCurrentDialog.sdIntContent.find('select').each(function() {
            if ( $(this).data('nativeMenu') == false ) {
                $(this).data('selectmenu').menuPage.remove();
                $(this).data('selectmenu').screen.remove();
                $(this).data('selectmenu').listbox.remove();
            }
        });
    }

в

if ( self.options.mode === 'blank' ) {
        if ($.mobile.sdCurrentDialog) {
            $.mobile.sdCurrentDialog.sdIntContent.find('select').each(function() {
                if ( $(this).data('nativeMenu') == false ) {
                    if ( $(this).data('selectmenu') ) {
                        $(this).data('selectmenu').menuPage.remove();
                        $(this).data('selectmenu').screen.remove();
                        $(this).data('selectmenu').listbox.remove();
                    }
                }
            });
        }
    }
Другие вопросы по тегам