$(function () {
$("#formRoute").dialog({
dialogClass:"panel",
autoOpen: false,
width: 370,
close: function () {
$("#z").css({display: "none"});
reverse();
}
});
});
function loadRoutes(carType, idRequest) {
$.ajax({
type: "POST",
url: "${createLink(controller: 'main', action: 'routeForm')}/" + idRequest + "?carType=" + carType,
success: function (response) {
$('#formRoute').html(response);
}
});
}
function formRouteOpen (event) {
var spinner = "<div id='floatingCirclesG'>" +
"<div class='f_circleG' id='frotateG_01'></div>" +
"<div class='f_circleG' id='frotateG_02'></div>" +
"<div class='f_circleG' id='frotateG_03'></div>" +
"<div class='f_circleG' id='frotateG_04'></div>" +
"<div class='f_circleG' id='frotateG_05'></div>" +
"<div class='f_circleG' id='frotateG_06'></div>" +
"<div class='f_circleG' id='frotateG_07'></div>" +
"<div class='f_circleG' id='frotateG_08'></div>" +
"</div>";
$("#z").css({
backgroundColor: "#808080",
opacity: "0.5",
position: "absolute",
zIndex: "1001",
width: "100%",
height: "100%",
display: "block"
});
$('#formRoute').html(spinner);
$("#formRoute").dialog("open");
}
function reverse(){
alert("reverse");
$(".drag").draggable({
revert: true,
stop: function( ) {
$(".drag").draggable({revert:false})
}
});
}
$(function() {
var id;
var carType = null;
var reverseStatus = false;
$(".drag").draggable({
cursor: "move",
zIndex: 1000,
drag: function(event, ui) { }
});
$(".drop").droppable({
start: function(event, ui) { },
hoverClass: "green",
drop: function( event, ui ) {
id = ui.draggable.attr('id');
carType = $(this).attr("data-carType");
var list = $(this).find('img');
if(list.length > 0){
//alert("1232");
reverse();
}
else
{
//$(this).css("background","green");
$.ajax({
type: "POST",
async: false,
url: "${createLink(controller: 'ajaxActions', action: 'checkRoute')}/?carType=" + carType,
success: function (response) {
if(response == "CONTINUE")
{
formRouteOpen (event);
loadRoutes(carType, id);
}
if(response == "ONEROUTE")
{
$.ajax({
type: "POST",
url: "${createLink(controller: 'ajaxActions', action: 'changeRoute')}/" + id + "?carType=" + carType,
success: function (response) {
if (response == "OK") {
location.reload()
}
}
});
}
if(response == "NOROUTE")
{
reverse();
}
}
});
}
}
});
});
в блоке
if(response == "CONTINUE")
{
formRouteOpen (event);
loadRoutes(carType, id);
}
как должно работать: при перетаскивании объекта, в пункте назначения отрабатывает аякс, по его результатам есть 3 пути развития событий. в одном из них открывается диалоговое окно и вот при его закрытии (можно сделать на крестик или добавить кнопку - не важно) должен выполнятся реверс на draggable объекте (функция reverse). но, почему-то, этого не происходит, т.е. в функцию заходит, но не выполняется((