0

我正在使用 iziModal jquery 插件和离子范围滑块。基本上我有一个记录表,每条记录都有一个编辑按钮,显示一个 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 打开函数中初始化它们时才有效。

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

那么有没有一种方法可以让我在模态之前等待滑块被初始化?

4

1 回答 1

0

没关系,问题似乎是别的。我尝试了一切,破坏模式,滑块并重新初始化。似乎有效的是在关闭时重置 iziModal。

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

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

我希望有同样问题的人看到这个可以省去一些麻烦......

于 2019-05-07T10:18:29.943 回答