等到另一个插件初始化上的jQuery插件

时间:2019-05-07 09:30:01

标签: javascript jquery ion-range-slider izimodal

我正在使用iziModal jquery插件和ion range滑块。基本上,我有一个带有记录的表,每个记录都有一个编辑按钮,其中显示了一个带有滑块的iziModal。

我在一个名为“ slidersInit.js”离子范围滑块插件初始化的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 open函数中初始化它们时才起作用。

问题是我想在iziModal之外执行此操作,因为如果我每次单击记录编辑按钮以调用modal时都调用滑块初始化,它将不起作用,它将保留以前的值并且不会更新。

那么有什么方法可以让我等待模态初始化之前的滑块吗?

1 个答案:

答案 0 :(得分:0)

没关系,看来问题出在其他方面。我尝试了所有操作,破坏模式,滑块并重新初始化。似乎有效的方法是在关闭时重置iziModal。

我刚刚将此方法添加到iziModal初始化

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

我希望有同样问题的人能看到这一点,以免头痛...