5

我正在使用ionRangeSlider,我想为值分配标签,反之亦然。

所以用户可以通过选项选择与海滩的距离:'on beach', '100m', '200m', '300m', 'more than 300m'但我需要post像这样的值'0', '100', '200', '300', 999

我的初始化:

$("#idSelector").ionRangeSlider({
    ...
    values_separator: " to ",
    values: [
        'on beach', '100m', '200m', '300m', 'more than 300m'
    ],
    ...

有什么办法吗?(使用 ionRangeSlider 因为我可以在路上获取值并解析它们)

我正在尝试 ionRangeSlider 的设置minmax选项,但它不起作用。

有任何想法吗?

4

2 回答 2

8

它可以很容易地完成。检查这个演示:

http://jsfiddle.net/IonDen/bvbvr0xs/

var $range = $(".js-range-slider");
var $result = $(".js-result");

var values = [0, 100, 200, 300, 999];
var values_p = ["on the beach", "100m", "200m", "300m", "more then 300m"];

$range.ionRangeSlider({
    type: "single",
    grid: true,
    values: values,
    prettify: function (n) {
        var ind = values.indexOf(n);
        return values_p[ind];
    },
    onStart: function(data) {
        $result.text(data.from_value);
    },
    onChange: function(data) {
        $result.text(data.from_value);
    }
});
于 2017-03-27T07:38:54.067 回答
-1

滑块的值与标签不同 - 标签仅供用户使用。

您希望最小值为 0,最大值为 400(400 可以超过 300 的值)并且步长为 100。这将为您提供所需的滑块值

现在是标签。它们需要与滑块分开 - 在其下方的 ap 元素中创建每个标签,并将其包裹在一个 div 中。给 p 个元素绝对定位,每个元素都有一个左 css 值。

像这样:

<div id='labels' style='position:relative; width:100%'>
   <p style='position:absolute;left:0'>on beach</p>
   <p style='position:absolute;left:25%'>100m</p>
   <p style='position:absolute;left:50%'>200m</p>
   <p style='position:absolute;left:75%'>300m</p>
   <p style='position:absolute;left:100%'>more than 300m</p>
</div>

您可能需要给标签一个固定的宽度

于 2017-01-27T10:36:50.153 回答