Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Custom confirm window (https://javascript.ru/forum/jquery/67428-custom-confirm-window.html)

AlexTrader 17.02.2017 11:44

Custom confirm window
 
Доброго времени суток, форумчане, подскажите пожалуйста, пытаюсь сделать кастомное конфирм окно, которое должно вернуть true/false значение, почему то не работает:

ConfirmKendoWindow: function (title, message) {
       
        var kendoWindow = $("<div />").kendoWindow({
            title: title,
            width: "200px",
            actions: ["Close"],
            visible: false,
            resizable: false,
            modal: true
        });
       
        kendoWindow.data("kendoWindow").content(message);
        kendoWindow.data("kendoWindow").element.append($('<a id="ConfirmKendoWindowButtonYes" class="k-button ConfirmKendoWindowButtonYes">Да</a></br>'));
        kendoWindow.data("kendoWindow").element.append($('<a id="ConfirmKendoWindowButtonNo" class="k-button ConfirmKendoWindowButtonNo">Нет</a>'));
        kendoWindow.data("kendoWindow").center().open();
        
        kendoWindow.find(".ConfirmKendoWindowButtonYes, .ConfirmKendoWindowButtonNo")
                .click(function () {
                    if ($(this).hasClass("ConfirmKendoWindowButtonYes")) {
                        return true;
                    }
                    else
                        return false;
                    kendoWindow.data("kendoWindow").close();
                })
                .end();
        //return res;
    }


вызываю так:
var a = ProductTools.ConfirmKendoWindow("", "Вы уверены?");
      alert(a);

Сначала появляется alert со значением undefined и только после kendo window, что не так?

AlexTrader 17.02.2017 12:49

Получается, alert выполняется асинхронно и не ждёт выполнения основной функции?

AlexTrader 17.02.2017 12:50

Здесь есть кто живой?

рони 17.02.2017 12:53

Цитата:

Сообщение от AlexTrader
Сначала появляется alert со значением undefined и только после kendo window, что не так?

всё верно - строка 27 ничего не возвращает поэтому undefined -- а модалка выйдет позднее так как использует анимацию - которая сработает после скрипта

AlexTrader 17.02.2017 13:06

Цитата:

Сообщение от рони (Сообщение 444542)
всё верно - строка 27 ничего не возвращает поэтому undefined -- а модалка выйдет позднее так как использует анимацию - которая сработает после скрипта

Как исправить это?

рони 17.02.2017 13:21

AlexTrader,
может это чем поможет http://stackoverflow.com/questions/6...-in-javascript

Dilettante_Pro 17.02.2017 15:57

AlexTrader,
Не вполне понял, что нужно, может это -
у kendoWindow есть close:, где можно указать действие при закрытии окна

AlexTrader 17.02.2017 17:17

Цитата:

Сообщение от Dilettante_Pro (Сообщение 444559)
AlexTrader,
Не вполне понял, что нужно, может это -
у kendoWindow есть close:, где можно указать действие при закрытии окна

Нужно сделать кастомное кендо окно, с которым можно работать как с Confirm, т.е. оно должно возвращать true или false по нажатию на кнопки Да или Нет

AlexTrader 17.02.2017 17:18

Или считаете это невозможно сделать?


Часовой пояс GMT +3, время: 10:22.