0

我正在尝试在我的项目中使用 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');
    }
});

当我想使用 from & to 设置默认工作时间时,它不起作用。滑块虽然有效,但值没有改变。

我错过了什么?

4

1 回答 1

3

因为您以毫秒为单位使用小时,所以您需要将您正在使用的时刻值从一个对象更改为它的毫秒值:

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

更改为(有关详细信息,请参阅文档):

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="" />

于 2018-08-28T16:34:12.860 回答