Подождите, пока плагин jquery на другом плагине init - PullRequest
0 голосов
/ 07 мая 2019

Я использую плагин iziModal jquery и слайдер ионного диапазона.В основном у меня есть таблица с записями, и у каждой записи есть кнопка редактирования, которая показывает iziModal с ползунками внутри него.

У меня есть в js-файле «slidersInit.js» инициализация плагина ползунков ионного диапазона

$(document).ready(function () {

$("#NumTurnos").ionRangeSlider({
    skin: "big",
    type: "single",
    min: 1,
    max: 3,
    from: 3
});

$("#NumPAB").ionRangeSlider({
    skin: "big",
    type: "single",
    min: 0,
    max: 50,
    from: 6
});

$("#AlcanceAbastecimento").ionRangeSlider({
    skin: "big",
    type: "single",
    min: 0,
    max: 20,
    from: 3
});

$("#QtdMin").ionRangeSlider({
    skin: "big",
    type: "single",
    min: 0,
    max: 20,
    from: 4
});

$("#QtdMax").ionRangeSlider({
    skin: "big",
    type: "single",
    min: 0,
    max: 50,
    from: 12
});

$("#NumDias").ionRangeSlider({
    skin: "big",
    type: "single",
    min: 0,
    max: 5,
    from: 5
});

})

Теперь на своей реальной странице я называю скрипт

   <script src="~/lib/vue/vue.js"></script>
    <script src="~/lib/axios/axios.js"></script>
    <script src="~/lib/ion-rangeslider/js/ion.rangeSlider.js"></script>
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
    <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
    <script src="~/lib/font-awesome/js/all.js"></script>
    <script src="~/lib/izimodal/js/iziModal.js"></script>
    <script src="~/js/slidersInit.js"></script>

, заметьте, что он находится внизу, перед ионным слайдером и izimodal.

Итак, на этомстраница У меня также есть конфигурации iziModal

  $(document).ready(function () {

        $("#modal").iziModal({
            zindex: 3000,
            width: 900,
            onOpening: function (modal) {                  

                modal.startLoading();
                //ajax call
                //update ion range sliders with new values
            }
        });
  });

По какой-то причине, когда я открываю iziModal, все ползунки отображаются в 0, что означает, что они не были инициализированы до открытия iziModal, и это работает, только если я их инициализируювнутри функции открытия Modal.

Проблема в том, что я хочу сделать это за пределами iziModal, потому что это не будет работать, если я вызываю ползунки инициализировать каждый раз, когда я нажимаю кнопку редактирования записи, чтобы вызвать модальный, он сохраняет предыдущие значенияи не будет обновляться.

Так есть ли способ, в котором я могу просто дождаться инициализации ползунков, прежде чем модальное будет?

1 Ответ

0 голосов
/ 07 мая 2019

Неважно, похоже, проблема была в другом.Я перепробовал все, разрушить модал, ползунки и переинициализировать.Кажется, что работало, сбрасывал iziModal при закрытии.

Я только что добавил этот метод для инициализации iziModal

 onClosed: function (modal) {
                $('#modal').iziModal('resetContent');
            }

Я надеюсь, что кто-то с такой же проблемой видит это, чтобы спасти некоторые головные боли ...

...