HH:mm格式的离子范围滑块从&到不起作用

时间:2018-08-28 15:59:42

标签: jquery asp.net-mvc momentjs ion-range-slider

我正在尝试在项目中使用离子范围滑块来选择工作时间。例如:(08:00-19:00)。

 $('#ion').ionRangeSlider({
    grid: false,
    type: 'double',
    min: moment("0000", "hhmm"),
    max: moment("2359", "hhmm"),
    from: moment("0800", "hhmm"),
    to: moment("1900", "hhmm"),
    force_edges: true,
    drag_interval: true,
    step: 3600000,
    min_interval: 3600000,
    prettify: function (num) {
        return moment(num).format('HH:mm');
    }
});

当我想使用&设置默认工作时间时,它不起作用。尽管Slider可以工作,但是值没有改变。

我想念什么?

1 个答案:

答案 0 :(得分:2)

由于您使用小时数(毫秒),因此需要将使用的 moment (时刻)值从对象更改为毫秒数:

min: moment("0000", "hhmm"),   // this is an object and not a number...
max: moment("2359", "hhmm"),
from: moment("0800", "hhmm"),
to: moment("1900", "hhmm"),

更改为(请参见details的文档):

min: moment("0000", "hhmm").valueOf(),
max: moment("2359", "hhmm").valueOf(),
from: moment("0800", "hhmm").valueOf(),
to: moment("1900", "hhmm").valueOf(),

$('#ion').ionRangeSlider({
    grid: false,
    type: 'double',
    min: moment("0000", "hhmm").valueOf(),
    max: moment("2359", "hhmm").valueOf(),
    from: moment("0800", "hhmm").valueOf(),
    to: moment("1900", "hhmm").valueOf(),
    force_edges: true,
    drag_interval: true,
    step: 3600000,
    min_interval: 3600000,
    prettify: function (num) {
        return moment(num).format('HH:mm');
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
<link rel="stylesheet" href="https://rawgit.com/IonDen/ion.rangeSlider/master/css/ion.rangeSlider.css">
<link rel="stylesheet" href="https://rawgit.com/IonDen/ion.rangeSlider/master/css/ion.rangeSlider.skinModern.css">
<script src="https://rawgit.com/IonDen/ion.rangeSlider/master/js/ion.rangeSlider.min.js"></script>


<input type="text" id="ion" name="example_name" value="" />