2013-06-27 15 views
6

Używam Jquery Ui z suwakiem zasięgu (2 uchwyty na suwakach) do filtrowania wartości minimalnych i maksymalnych. Jednak każdy pomysł, jak dodać etykietkę dla obu uchwytów, ponieważ sam suwak nie obsługuje etykietki z suwakiem.Suwak Jquery Range z podpowiedzką

+0

można zapewnić jsfiddle? –

+0

możliwy duplikat suwaka [jquery UI z etykietą] (http://stackoverflow.com/questions/14088408/jquery-ui-slider-with-tooltip) –

+0

Wymaganie suwaka używa jquery ui, gdzie suwak HTML5 może nie działać dla niektórych przeglądarek .... suwak jquery ui jest podobny do tego ... ale z ładowanym adresem http://jqueryui.com/resources/demos/slider/range.html –

Odpowiedz

0

Po suwak został załadowany można po prostu utworzyć widget podpowiedzi na uchwytach

$('.ui-slider-handle').tooltip(); 
+0

załadowany? miałeś na myśli po zainicjowaniu suwaka jquery ui? –

+0

załadowany i zainicjowany jest taki sam – slash197

1

.ui-slider-handle klasa ma dwa elementy stosowane w postaci zakresu. Dlatego musisz poprawnie używać metod .first() i .last(), aby uzyskać obsługę min i max zakresów. Jest to jsFiddle example.

Jest to zmodyfikowana wersja odpowiedzi na ten question:

var tooltipmin = $('<div id="tooltip" />').css({ 
    position: 'absolute', 
    top: -25, 
    left: -10 
}).hide(); 
var tooltipmax = $('<div id="tooltip" />').css({ 
    position: 'absolute', 
    top: -25, 
    left: -10 
}).hide(); 
var slideritem = $("#slider").slider({ 
    values: [350, 500], 
    min: 0, 
    max: 1000, 
    step: 50, 
    range: true, 
    slide: function(event, ui) { 
     tooltipmin.text(ui.values[0]); 
     tooltipmax.text(ui.values[1]); 
    }, 
    change: function(event, ui) { 
     tooltipmin.text(ui.values[0]); 
     tooltipmax.text(ui.values[1]); 
    } 
}); 
slideritem 
    .find(".ui-slider-handle") 
    .first() 
    .append(tooltipmin) 
    .hover(function() { 
     tooltipmin.show(); 
     tooltipmax.show(); 
    }, function() { 
     tooltipmin.hide(); 
     tooltipmax.hide(); 
    }); 
slideritem 
    .find(".ui-slider-handle") 
    .last() 
    .append(tooltipmax) 
    .hover(function() { 
     tooltipmin.show(); 
     tooltipmax.show(); 
    }, function() { 
     tooltipmin.hide(); 
     tooltipmax.hide(); 
    }); 
Powiązane problemy