Здесь есть пара проблем.Во-первых, вы создали range
входные данные внутри div
, на котором вы создали экземпляр ползунка.Это только вызовет проблемы, поскольку они мешают расположению слайдера.Я бы предложил удалить их.
Во-вторых, вызов values
с двумя аргументами предназначен для использования с ползунком диапазона, а не с ползунком с одним значением.Я бы предположил, что из двух входов диапазона, которые вы имели в DOM, вы пытаетесь сделать выбор диапазона.Таким образом, вам нужно установить range: true
на слайдере при его создании.Тогда вы можете позвонить values
, как вы сейчас.Попробуйте это:
$('#filter_price').slider({
range: true,
min: 0,
max: 150
});
$('#filter_price').slider('values', 0, 50);
$('#filter_price').slider('values', 1, 100);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0/themes/smoothness/jquery-ui.css" />
<div data-role="rangeslider" id="filter_price" style="touch-action: none;">
</div>
Также обратите внимание, что если вы пытаетесь создать ползунок с этими значениями, вы можете предоставить все аргументы в объекте создания экземпляра, без необходимости повторного выбора элемента:
$('#filter_price').slider({
range: true,
min: 0,
max: 150,
values: [50, 100]
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0/themes/smoothness/jquery-ui.css" />
<div data-role="rangeslider" id="filter_price" style="touch-action: none;">
</div>