0
jQuery UI 대화 상자 위젯과 함께 AJAX를 사용하여 동적으로 내용을로드하는 모달 윈도우를 만들려고합니다. 사용자가 무언가를 요청한 다음 대화 상자가 페이지에 존재하고 사용자가 닫기 버튼을 클릭 할 때 다시 제거된다는 아이디어가 있습니다. 그러나 현재 코드에는 두 가지 문제점이 있습니다. 1. 대화 상자가 페이지에 존재하기 때문에 요청할 수 있습니다. 2. 사용자가 모달을 닫으면 페이지를 새로 고치지 않으면 다시 열 수 없습니다. . Ajax 모달 윈도우 용 jQuery UI 대화 상자
나는 내 응용 프로그램에 다음 코드가 : 어떤 도움이 많이 주시면 감사하겠습니다$('.ajax').live('click', function()
{
var url = this.href;
var dialog = $("#dialog");
if ($("#dialog").length == 0)
{
dialog = $('<div id="dialog"></div>').appendTo('body');
}
dialog.load(
url,
{},
function(responseText, textStatus, XMLHttpRequest)
{
dialog.dialog();
}
);
return false;
});
합니다. demo
$('.ajax').live('click', function()
{
var url = "/home/test";
var dialog = $("#dialog");
if ($("#dialog").length == 0)
{
dialog = $('<div id="dialog"></div>').appendTo('body');
}
$.ajax(
{
url: url,
beforeSend: function (jqXHR, settings)
{
//show an animated gif
},
complete: function (jqXHR, textStatus)
{
//hide the animated gif
},
success: function (data, textStatus, jqXHR)
{
dialog.dialog().html(data);
},
error: function (jqXHR, textStatus, errorThrown)
{
dialog.dialog().html("An error occured...");
}
});
return false;
});
당신은 우리에게 당신이 close 이벤트에 대화를 제거하는 데 사용하는 코드를 제공 할 수 있습니다 : 여기 –
닫기 기능은 jQuery UI 코드에 내장되어 있습니다. 그렇다면 대화 상자가 여전히 존재하는 경우 링크를 클릭 할 때 모달을 호소하지 않는 이유는 무엇입니까? – Cameron
내가 말했듯이, 당신의 코드는 jsFiddler : [demo] (http://jsfiddle.net/jrpfu)에서 내 프로젝트에서 올바르게 작동하는 것처럼 보입니다. 어쩌면 웹 페이지에 다른 코드가있어 충돌이 발생할 수 있습니다. jsFiddler에 대한 결과가 무엇인지 말해주십시오. –