Предполагая, что вы на самом деле не хотите ограничивать возможность пользователей открывать более одного диалога, делая каждый диалог модальным (чтобы они не могли щелкнуть где-либо на странице, пока диалог не был намеренно закрыт), я бы сказал, что вы хотитекэшировать ваши диалоги в переменной, а затем перебирать этот массив, чтобы закрыть их все перед открытием цели.Не проверяя то, что я пишу здесь, попробуйте что-то вроде этого:
var options = {
autoOpen: false,
modal: true,
...
};
var dlg = $('dialog-candidate-' + n);
$(dlg).each(function(i) {
$(this).dialog(options);
$('#dialog-trigger-' + n).click(function() {
for(var i = 0; i<= dlg.length; i++) {
dlg[0].dialog("close");
}
$(this).dialog("open");
return false;
});
n++;
});