Javascript 如何从 JQuery - IonRangeSlider 获取值?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/26641024/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-22 23:10:13  来源:igfitidea点击:

How to get values from JQuery - IonRangeSlider?

javascriptjqueryslider

提问by Gem

how can I get low and high values from ion.rangeSlidercomponent by clicking a button?

如何通过单击按钮从ion.rangeSlider组件获得低值和高值?

This is my jQuery code:

这是我的 jQuery 代码:

<script>
    $(document).ready(function(){
        $("#range_1").ionRangeSlider({
            min: 10,
            max: 50,
            from: 10,
            to: 20,
            type: 'double',
            step: 1,
            prettify: true,
            hasGrid: false
        });
    });
</script>

<script>
 $(document).ready(function(){
    $('#get_values').click(function(){
            var low = $('#range_1').... ???;
            var high = $('#range_1').... ???;
            alert(low);
        });
 });
</script>

采纳答案by IonDen

here is a solution: http://jsfiddle.net/IonDen/xaaw56bk/

这是一个解决方案:http: //jsfiddle.net/IonDen/xaaw56bk/

var $range = $(".js-range-slider"),
    $result = $(".js-result"),
    $getvalues = $(".js-get-values"),

    from = 0,
    to = 0;

var saveResult = function (data) {
    from = data.fromNumber;
    to = data.toNumber;
};

var writeResult = function () {
    var result = "from: " + from + ", to: " + to;
    $result.html(result);
};

$range.ionRangeSlider({
    type: "double",
    min: 10,
    max: 50,
    from: from,
    to: to,
    onLoad: function (data) {
        saveResult(data);
        writeResult();
    },
    onChange: saveResult,
    onFinish: saveResult
});

$getvalues.on("click", writeResult);

回答by Shari Cahill

// Launch plugin
$("#range").ionRangeSlider({
    type: "double",
    min: 0,
    max: 1000,
    from: 200,
    to: 500
});

// Saving it's instance to var
var slider = $("#range").data("ionRangeSlider");

// Get values
var from = slider.result.from;
var to = slider.result.to;

See solution at http://jsfiddle.net/2qLum6s7/. Works with latest version of Ion.RangeSlider (2.1.2).

请参阅http://jsfiddle.net/2qLum6s7/ 上的解决方案。适用于最新版本的 Ion.RangeSlider (2.1.2)。

回答by soheilpro

Use jQuery's data() method:

使用 jQuery 的 data() 方法:

var low = $('#range_1').data().from;
var high = $('#range_1').data().to;

回答by IonDen

Previous answer was based on old plugin API and don't work any more. Here is the new one, for 2.x version: http://jsfiddle.net/IonDen/2L15xoym/

先前的答案基于旧的插件 API,不再适用。这是 2.x 版本的新版本:http: //jsfiddle.net/IonDen/2L15xoym/

var $range = $(".js-range-slider"),
    $result = $(".js-result"),
    $getvalues = $(".js-get-values"),

    from = 0,
    to = 0;

var saveResult = function (data) {
    from = data.from;
    to = data.to;
};

var writeResult = function () {
    var result = "from: " + from + ", to: " + to;
    $result.html(result);
};

$range.ionRangeSlider({
    type: "double",
    min: 10,
    max: 50,
    from: from,
    to: to,
    onStart: function (data) {
        saveResult(data);
        writeResult();
    },
    onChange: saveResult,
    onFinish: saveResult
});

$getvalues.on("click", writeResult);

回答by Andrii

const range = $('#range_1');

const rangeData = range.data('ionRangeSlider');
const start = rangeData.result.from;
const max = rangeData.result.max;
// rangeData.result['property']

Version 2.3.0 (Tested)

版本 2.3.0(已测试)

回答by Yat Fei Leong

Use the start, change or finish overload. I'm using finish overload and update the value to SomeValue element.

使用开始、更改或结束重载。我正在使用完成重载并将值更新为 SomeValue 元素。

   $("#Range_1").ionRangeSlider({
        min: 0,
        max: 100,
        type: 'single',
        step: 1,
        postfix: " %",
        prettify: false,
        hasGrid: true,
        onFinish: function(data){
            var value = data.fromNumber;
            $("#SomeValue").val(value);
        }
    }); 

回答by Jai Kumar Rajput

var val = $('#theSpecificSliderID').slider('value'); // Get value <br>
$('#theSpecificSliderID').slider('value', 33); // Set value