2013-05-02 2 views
0

Код, показанный ниже, отлично работает. Я пытаюсь переместить часть диалога (строка GBBSO.cnst.ddlog.dialog) в блок кода GBBSO.cnst, и я запускаю всевозможные ошибки - синтаксис, функция не определена и т. Д. Можно ли это сделать?Невозможно скопировать диалоговое окно JQuery UI в пространство имен

if (GBBSO == null || typeof (GBBSO) != "object") { var GBBSO = new Object(); } 

GBBSO.cnst = { 
    datePickerOpt1: { 
     dateFormat: 'dd-M-yy', 
     showOn: 'button', 
     buttonImage: 'Styles/Images/Calendar_scheduleHS.png', 
     buttonImageOnly: true, 
     buttonText: 'Select a date', 
     showButtonPanel: true, 
     changeMonth: 'true', 
     changeYear: 'true', 
     beforeShow: function (input) { GBBSO.dpClearButton(input); }, 
     onChangeMonthYear: function (yy, mm, inst) { GBBSO.dpClearButton(inst.input); } 
    }, 

    ddlog: jQuery('<div><span><img src="Global_Template_Files/Images/loading.gif" />&nbsp;&nbsp;&nbsp;&nbsp; Communicating with the server....</span></div>') 

} 

GBBSO.cnst.ddlog.dialog({ autoOpen: false, resizable: false, modal: true, width: 400, height: 100, closeOnEscape: false, show: 'drop', hide: 'drop', 
    open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); } 
}); 
GBBSO.cnst.ddlog.dialog('open'); 

Код, показанный ниже, НЕ работает. Я получаю ошибку «ожидаемая функция» на открытии.

GBBSO.cnst = { 
    datePickerOpt1: { 
     dateFormat: 'dd-M-yy', 
     showOn: 'button', 
     buttonImage: 'Styles/Images/Calendar_scheduleHS.png', 
     buttonImageOnly: true, 
     buttonText: 'Select a date', 
     showButtonPanel: true, 
     changeMonth: 'true', 
     changeYear: 'true', 
     beforeShow: function (input) { GBBSO.dpClearButton(input); }, 
     onChangeMonthYear: function (yy, mm, inst) { GBBSO.dpClearButton(inst.input); } 
    }, 

    ddlog: { 
     html: jQuery('<div><span><img src="Global_Template_Files/Images/loading.gif" />&nbsp;&nbsp;&nbsp;&nbsp; Communicating with the server....</span></div>'), 
     dialog: { autoOpen: false, resizable: false, modal: true, width: 400, height: 100, closeOnEscape: false, show: 'drop', hide: 'drop', 
      open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); } 
     } 
    } 
} 
GBBSO.cnst.ddlog.dialog(GBBSO.cnst.ddlog.dialog); 
GBBSO.cnst.ddlog.dialog('open'); 
+0

Когда диалог jQueryUI будет «инициализация» он «переехал» (прилагается) к «телу» с новой обертке DIV и несколько новых братьев и сестер. Просто дайте вашему диалогу «ID», вызовите его таким образом. Если вы хотите связать его с переменной «var myDlg = $ (« # myDlg »)). Однако имейте в виду, что для CSS «пространство имен» будет идентификатором диалога, поскольку оно перемещается из любых предыдущих родителей. – SpYk3HH

+0

Где именно, в этом кодовом блоке вы установили селектор для 'GBBSO.cnst.ddlog.dialog'? В текущем я вижу, что это ничего не указывает – SpYk3HH

+0

'GBBSO.cnst' - это объект. «Диалоговая часть» - это вызов функции. Так что же означает «переходить в» в этом контексте? Было бы полезно показать нам, что вы пробовали, и какие ошибки у вас есть. – zeroflagL

ответ

0

Второй пример работает, если функция диалога настроена правильно. Изменен второй пример, чтобы исправить код и сделать «диалог» менее запутанным. (Спасибо SpYk3HH)

if (GBBSO == null || typeof (GBBSO) != "object") { var GBBSO = new Object(); } 

GBBSO.cnst = { 
    datePickerOpt1: { 
     dateFormat: 'dd-M-yy', 
     showOn: 'button', 
     buttonImage: 'Styles/Images/Calendar_scheduleHS.png', 
     buttonImageOnly: true, 
     buttonText: 'Select a date', 
     showButtonPanel: true, 
     changeMonth: 'true', 
     changeYear: 'true', 
     beforeShow: function (input) { GBBSO.dpClearButton(input); }, 
     onChangeMonthYear: function (yy, mm, inst) { GBBSO.dpClearButton(inst.input); } 
    }, 

    ddlog: { 
     html:jQuery('<div><span><img src="Global_Template_Files/Images/loading.gif" />&nbsp;&nbsp;&nbsp;&nbsp; Communicating with the server....</span></div>'), 
     dialogAttrs: { autoOpen: false, resizable: false, modal: true, width: 400, height: 100, closeOnEscape: false, show: 'drop', hide: 'drop', 
      open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); } 
     } 
    } 
} 
GBBSO.cnst.ddlog.html.dialog(GBBSO.cnst.ddlog.dialogAttrs); 
GBBSO.cnst.ddlog.html.dialog('open'); 
Смежные вопросы