admin管理员组

文章数量:1322667

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?

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?

Share Improve this question edited Jan 27, 2017 at 10:25 Lajdák Marek asked Jan 27, 2017 at 10:20 Lajdák MarekLajdák Marek 3,0998 gold badges32 silver badges60 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 9

It could be done pretty easy. Check this demo:

http://jsfiddle/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);
    }
});

The values for the slider are different than the labels - the labels are just for the user.

You want the min value to be 0, and the max to be 400 (400 can your more than 300 value) and have a step of 100. This will give you your desired slider values

Now for the labels. They need to be separate from the slider - create each label in a p element below it wrapped in a div. Give the p elements absolute positioning with each one having a left css value.

Like this:

<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>

You may need to give labels a fixed width

本文标签: javascriptIonRangeSlider assign labels to valuesStack Overflow