Показать сообщение отдельно
  #1 (permalink)  
Старый 01.10.2015, 14:12
Интересующийся
Отправить личное сообщение для mrkid Посмотреть профиль Найти все сообщения от mrkid
 
Регистрация: 16.08.2015
Сообщений: 18

реверс по закрытию диалогового окна
$(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). но, почему-то, этого не происходит, т.е. в функцию заходит, но не выполняется((
Ответить с цитированием