Search code examples
javascriptjquerysliderion-range-slider

IonRangeSlider assign labels to values


I am using ionRangeSlider and I want assign labels to values or vice versa.

So user can pick distance from beach with options: 'on beach', '100m', '200m', '300m', 'more than 300m' but i need in post values like '0', '100', '200', '300', 999

My init:

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

Is there some way to do it? (for using ionRangeSlider because get values and parse they i can on my way)

I was trying set min and max options for ionRangeSlider but it doesn't work.

Any ideas?


Solution

  • It could be done pretty easy. Check this demo:

    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);
        }
    });