2014-10-24 3 views
0

У меня проблема с jQuery UI Slider.Как установить минимальный/максимальный интервал и значения для слайдера пользовательского интерфейса jQuery?

У меня есть функция "Pricer()" и аргументы, которые я даю ему:

1) MIN_PRICE, MAX_PRICE - интервал диапазона (MIN_PRICE ------------- MAX_PRICE)

2) Начальная_цен, end_price - подотрезки (минимальная цена ---- Начальная_цен -------- end_price ----- MAX_PRICE)

Код:

function Pricer(min_price, max_price, start_price, end_price) { 
    $("#slider_price").slider({ 
     range: true, 
     min: min_price, 
     step:10, 
     max: max_price, 
     values: [start_price, end_price ], 
     slide: function(event, ui) { 
      $('#price1').val(ui.values[0]); 
      $('#price2').val(ui.values[1]); 
     } 
    }); 

    $('#price1').change(function() { 
     $('#slider_price').slider("values",0, $(this).val()); 
    }); 

    $('#price2').change(function() { 
     $('#slider_price').slider("values",1,$(this).val()); 
    }); 

    $('#price1').val($('#slider_price').slider("values",0)); 
    $('#price2').val($('#slider_price').slider("values",1)); 
}; 

Я называю эта функция дважды по порядку:

1) на документе. уже событие. (Pricer (4, 536, 4, 536);)

2) когда я должен установить новые значения для ползунка. (Pricer (4, 536, 11, 12))

И получить неправильный интервал:

$('#slider_price').slider('values', 0) 

и

$('#slider_price').slider('values', 1) 

возвращается ко мне значение '14' и '14'.

Я отлаживаю его и обнаружил, что это произошло, когда я установил свойство values ​​в объекте, который я отправляю на слайдер().

Я не нашел открытые отчеты об ошибках в слайдере jQuery UI. Может быть, это мое непонимание работы слайдера jQuery UI?

ответ

1

Это связано с тем, что вы установите step до 10. Так как ваш диапазон начинается с 4 следующего ближайшего значения в 11 и 12: 14.

Slider Widget API doc о шаг гласит:

(Шаг) Определяет размер или количество каждого интервала или шаг ползунка между минимальным и макс. Полный заданный диапазон значений ползунка (max - min) должен быть равномерно делимым на шаге.

+0

WOW, спасибо, я об этом не думал) – AlexAstanin

Смежные вопросы