我正在使用 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 之外执行此操作,因为如果我每次单击记录编辑按钮调用模态时调用滑块初始化,它将无法工作,它会保留以前的值并且不会更新。
那么有没有一种方法可以让我在模态之前等待滑块被初始化?