У меня есть модальное диалоговое окно jQuery с iFrame, которое показывает некоторый контент. Когда пользователь выбирает параметр в iFrame, я выполняю Ajax-вызов, а затем хочу закрыть диалоговое окно, однако оно не закрывается для меня.
В родительской форме у меня есть тег div:
div id="structureDialog" title="Add Structure"
Я открываю диалоговое окно, когда пользователь нажимает элемент на родительском элементе:
// bind an onclick event onto tiles to display the modal dialogue window
$(".stationTile").bind('click', function () {
var src = "<iframe src="myurl" />";
var locationID = 1;
$("#structureDialog").attr("locationID", locationID);
$("#structureDialog").html(src); //iframe
$("#structureDialog").dialog({
modal: true,
});
});
В моем iFrame есть следующее:
$(".userOption").bind('click', function () {
$.ajax({
async: false,
type: "POST",
url: "/NewStructure.aspx/Build",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: buildSuccess
});
});
function buildSuccess(res, dest) {
$("body", window.parent.document).attr("style", "background-color:yellow;");
$("#structureDialog", window.parent.document).attr("style", "background-color:red;");
$("#structureDialog", window.parent.document).dialog('close');
}
В моей функции buildSuccess я могу успешно изменить свое диалоговое окно на красный. Однако функция закрытия не закрывает мое диалоговое окно. Из большинства примеров, которые я видел до сих пор, этот код должен работать нормально, поэтому я в тупике.