Как обновить слайдер пользовательского интерфейса jQuery после установки минимальных или максимальных значений?

У меня есть ui.slider, и я меняю его минимальные и максимальные значения во время выполнения. Но эти изменения отражаются только в представлении, когда я также устанавливаю значения впоследствии (что заставляет его запускать события, которые не нужны). На мой взгляд, он должен обновлять представление также после установки min и max. Есть ли простой обходной путь , похоже, для ползунка отсутствует метод обновления.

$("#something").slider({
    range: true,
    values: [25, 75],
    min: 0,
    max: 100
});
$("#something").slider("option", "min", 25); // left handle should be at the left end, but it doesn't move
$("#something").slider("option", "values", [25, 75]); // the left handle is now at the left end, but doing this triggers events

Изменить Эта проблема была исправлена ​​в jQuery UI 1.9

25
задан Manuel Leuenberger 8 December 2012 в 21:39
поделиться

4 ответа

Решена проблема с перемещением ручки ... просто вызовите эту функцию ..

function resetSlider(){
    $("#slider-fill").attr('value',maxPrice);
    $("input[type='range']").slider( "refresh" );//refresh slider to max value
    $(".ui-slider-handle").css("left","100%");
    console.log("Slider Reset Done.");
}
2
ответ дан 28 November 2019 в 21:41
поделиться

Попробуйте это.

valPercent = (current_slide_value - min_value) / (max_value - min_value) * 100;     
parentElem.find('.ui-slider-range').css('width', valPercent+'%');    
parentElem.find('.ui-slider-handle').css('left', valPercent+'%');
0
ответ дан 28 November 2019 в 21:41
поделиться

Вы можете обновить html div в функции jquery как

var d='<div class="row grid_slider"><div><p>Grid With time in 24 hour format</p><input type="text" class="range_time24" value="" name="range" /></div></div>';document.getElementById("slider").innerHTML=d;

. Затем установить новые значения для ползунка

.
0
ответ дан 28 November 2019 в 21:41
поделиться

Вам необходимо сохранить ссылку на объект-слайдер,

var slider = $("#something").slider({
               range: true,
               values: [25, 75],
               min: 0,
               max: 100
             });
slider.slider("option", "min", 25);

. Все это перечислено в документации

.
-3
ответ дан 28 November 2019 в 21:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: