2014-10-29 12 views
7

Jak mogę uzyskać niskie i wysokie wartości z komponentu ion.rangeSlider, klikając przycisk?Jak uzyskać wartości z JQuery - IonRangeSlider?

To jest mój kod 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> 

Odpowiedz

4

tu jest rozwiązanie: 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); 
+0

jeszcze raz dziękuję! – Gem

+2

Ten przykład jest nieaktualny. – IonDen

+1

Prawidłowe wartości w funkcji saveResult: data.from i data.to – system7

6

Poprzednia odpowiedź była oparta na starej wtyczki API i nie działają dłużej. Oto nowa, w wersji 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); 
0
var val = $('#theSpecificSliderID').slider('value'); // Get value <br> 
$('#theSpecificSliderID').slider('value', 33); // Set value 
11
// 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 rozwiązanie w http://jsfiddle.net/2qLum6s7/. Działa z najnowszą wersją Ion.RangeSlider (2.1.2).

+0

Używanie tutaj wersji 2.0.3 i to działa. – Chay22

+0

@scahill Dziękuję bardzo pomógł mi –

1

dane użyć jQuery jest() metoda:

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

Użyj startowy, zmienić lub zakończyć przeciążenie. Używam przeładowania końcowego i aktualizuję wartość elementu 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); 
     } 
    }); 
Powiązane problemy