JQuery UI слайдер неправильные значения? - PullRequest
6 голосов
/ 20 августа 2010

Пример кода: http://jsbin.com/eqile3/

Это ползунок с 2 ручками, 1 для мин и 1 для макс, а в случае слайда эти значения помещаются в поля ввода.

Обратите внимание, что при перемещении мин-ручки вверх и вниз минимальное значение равно 11 (хотя я установил его на 10), но при скольжении вверх из минимального положения оно меняется с 11 на 10, а затем на 11. Если я сползаю обратно внизснова доходит до 12, а затем до 11 ...

Довольно странная ошибка, не знаете, в чем причина?

Кроме того, когда мин-дескриптор находится на первом шаге, начиная с шага 0, так что значение равно 10, и я затем перемещаю максимальный дескриптор, значение минимального дескриптора обновляется правильно.Макс-дескриптор имеет противоположную проблему.

Соответствующий JavaScript в примере:

$(document).ready(function(){
  $('#clarityslider').slider({step:1,min:10,max:18,range:true,values:[10, 18]});  

  $('#clarityslider').bind('slide', function(ui, event){
    valuemin = $(this).slider('values', 0);
    valuemax = $(this).slider('values', 1);


    $(this).next().val(valuemax);
    $(this).prev().val(valuemin);
  });
});

Ответы [ 2 ]

12 голосов
/ 27 декабря 2010

Ух ты, большое спасибо!это действительно помогло мне, потому что у меня была точно такая же проблема!

У меня было :

slide: function(event, ui) {
          var Oldvalue = $('#slider').slider("value");

и изменилось на

slide: function(event, ui) {
              var Oldvalue = ui.value;
8 голосов
/ 20 августа 2010

Странные значения действительно.Это более упрощенно и работает как шарм:

$(document).ready(function(){

    var valuemin = valuemax = 0;

    $('#clarityslider').slider({
        min:    10,
        max:    18,
        range:  true,
        values: [10, 18],
        slide:  function(event, ui) {
            valuemin = ui.values[0];
            valuemax = ui.values[1];
            $(this).next().val(valuemax);
            $(this).prev().val(valuemin);
        }
    });
});

Удачи в том, что вы строите!

...