У вас есть два способа получить элемент управления в formGroup
myForm.controls.name_of_control
//and
myForm.get('name_of_control')
Используя «get», убедитесь, что если Angular изменит «модель» formGroup (*), это изменение не повлияет на ваш код
(*) Представьте, что в более новой версии Angular элементы управления хранятся в свойстве «customControls», а не в «элементах управления», команда Angular изменит функцию «get ()» на дайте контроль, но вы потеряете myForm.controls, потому что это свойство исчезает
Вы можете сделать это, добавив и удалив классы для элемента modalContainer.
Fog Creek Copilot использует SimpleModal, с двумя размерами, обычным и широким. Если вы зайдете в Copilot и нажмете «Войти», вы увидите нормальный размер. Теперь поместите в консоль Firebug
>> $('.modalContainer').addClass('wide')
. Вы должны увидеть, что контейнер стал шире. Все, что вам нужно сделать, чтобы сделать эту работу на вашем сайте, это определить классы для всех размеров, которые вы хотите, и добавлять и удалять их динамически.
I'd like to suggest a simpler and more flexible solution:
Visit http://www.ericmmartin.com/simplemodal-test/, run the following code in Firebug and then click on "button" in the dialog to resize it.
// Inject a CSS class into the document
$('head style[type=text/css]').append('.wide{width:750px !important;}');
$('#modalContentTest').modal({
onShow:function(dialog){
dialog.data.find('.animate').click(function(){
// You can put this code in your "my.php" callback
dialog.container.addClass('wide');
/*
// OR set the width explicitly
// (make sure you remove the addClass line if you want to use this)
dialog.container.width(700);
*/
/*
Force SimpleModal to reposition the
dialog by triggering its resize event
*/
$(window).trigger('resize.simplemodal');
}); //end click
} // end onShow
}); // end modal
With this method you don't have to define new CSS to re-center the dialog and you can let SimpleModal take care of browser inconsistencies.