jQuery фиксированные значения ползунка UI

Если вам интересно, почему не передаются никакие параметры, есть ключевая подсказка в ссылках HttpParams docs

Этот класс неизменен - ​​все операции мутации возвращают новый экземпляр.

blockquote>

Как правило, вы должны иметь возможность отправлять параметры / запросы, создавая цепочку следующим образом, чтобы иметь несколько параметров:

    const params = new HttpParams()
        .set('query', 'value here')
        .set('another_param', 'value_here')
        .set('sortby', sortby.toString());

return this.httpClient.get('my url', { params })

Если вы хотите добавить HttpParams условно, используйте вариант этого вместо этого, например:

let params = new HttpParams();
if ( limit ) {
  params = params.set('limit', String(limit));
}
params = params.set('search', keyword);

16
задан Carpy 13 May 2009 в 09:55
поделиться

1 ответ

Инициализатор значений предназначен для предоставления начальных позиций ползунков с несколькими ползунками.

Я бы предоставил массив возможных значений, изменил бы ползунок для отображения в диапазоне этого массива, а затем измените бит презентации на чтение из соответствующего элемента массива.

ползунок диапазона: версия с несколькими ползунками

$(function() {
    var valMap = [0, 25, 50, 100, 250, 500];
    $("#slider-range").slider({
        min: 0,
        max: valMap.length - 1,
        values: [0, 1],
        slide: function(event, ui) {                        
            $("#amount").val('Miles: ' + valMap[ui.values[0]] + ' - ' + valMap[ui.values[1]]);                
        }       
    });
    $("#amount").val('Miles: ' + valMap[$("#slider-range").slider("values", 0)] + ' - ' + valMap[$("#slider-range").slider("values", 1)]);
});

enter image description here

ползунок диапазона: версия с одним ползунком


$(function() {
    var valMap = [0, 40, 50, 63, 90, 110, 125, 140, 160, 225, 250];
    $("#slider-range").slider({
        min: 1,
        max: valMap.length - 1,
        value: 0,
        slide: function(event, ui) {                        
            $("#amount").val(valMap[ui.value]);                
        }       
    });
    //$("#amount").val(valMap[ui.value]);
})

;

минимальный HTML:

<input type="text" id="amount" value="40" />
<div id="slider-range"></div>

enter image description here

41
ответ дан 30 November 2019 в 16:19
поделиться
Другие вопросы по тегам:

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