我正在使用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时都调用滑块初始化,它将不起作用,它将保留以前的值并且不会更新。
那么有什么方法可以让我等待模态初始化之前的滑块吗?
答案 0 :(得分:0)
没关系,看来问题出在其他方面。我尝试了所有操作,破坏模式,滑块并重新初始化。似乎有效的方法是在关闭时重置iziModal。
我刚刚将此方法添加到iziModal初始化
onClosed: function (modal) {
$('#modal').iziModal('resetContent');
}
我希望有同样问题的人能看到这一点,以免头痛...