Сегодня я столкнулся с той же проблемой. Кажется, что любой диалог, который вы создаете, извлекается из его текущей иерархии и помещается в конец элемента body, что означает, что он не покрывается пользовательской областью CSS .
Опция "dialogClass" также не поможет, так как она устанавливает класс элемента диалога, но вам нужно, чтобы диалог был потомком элемента с вашим пользовательским классом.
Один из способов заставить это работать - установить пользовательский класс в теге body. Это, однако, означает, что затрагивается весь документ, и вы больше не можете использовать разные темы на одной странице.
То, как я закончил, это небольшой обходной путь, чтобы вернуть элемент диалога обратно в элемент с вашей пользовательской областью действия. Предполагается, что есть div с классом «myCustomScope», который содержит все, к чему должна применяться пользовательская тема; и div с идентификатором "myDialogContent", который должен стать диалогом:
// Create the dialog, but don't open it yet
var d = $('#myDialogContents').dialog({
autoOpen: false
// Other dialog options
});
// Take the whole dialog and put it back into the custom scope.
d.parent('.ui-dialog').appendTo('.myCustomScope');
// Open the dialog (if you want autoOpen).
d.dialog('open');