我已经做了价格范围jquery ui滑块。我想当用户在输入字段中输入正确的细节时,在滑块中进行更改。我已经尝试了一些代码,但它在我的特定项目中不起作用,但单独工作很好。有人能告诉我我到底要写些什么吗?
$('#price_range').slider({
range: true,
min: 100,
max: 50000,
values: [100, 50000],
step: 1,
stop: function(event, ui) {
$('#price_show').html(ui.values[0] + ' - ' + ui.values[1]);
$('#hidden_minimum_price').val(ui.values[0]);
$('#hidden_maximum_price').val(ui.values[1]);
filter_data();
}
});
$("#price_range .tic").each(function(ind, elem) {
var c = $(elem).attr("class").split(" ");
var i = c.indexOf("tic");
c.splice(i, 1);
var pos = c.join("");
$(".slide-labels ." + pos).position({
my: "center bottom",
at: "right-5 top-4 ",
of: $(elem)
});
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<div class="list-group three-list">
<h3>Price</h3>
<input id="hidden_minimum_price" value="100" />
<input id="hidden_maximum_price" value="50000" />
<p id="price_show">100 - 50000</p>
<div class="slide-labels">
<div class="label pos-0 first">
$0
</div>
<div class="label pos-1">
$10,000
</div>
<div class="label pos-2">
$20,000
</div>
<div class="label pos-3">
$30,000
</div>
<div class="label pos-4">
$40,000
</div>
<div class="label pos-5 last">
$50,000
</div>
</div>
<div id="price_range">
<div class="tic pos-1">
</div>
<div class="tic pos-2">
</div>
<div class="tic pos-3">
</div>
<div class="tic pos-4">
</div>
</div>
</div>
在上面的代码中,当我在输入字段中输入一些值时,它给出了错误:$(...).slider不是一个函数。
请具体说明我要做什么。如果可能的话,显示正在运行的代码。谢谢!
发布于 2021-09-07 06:47:16
正如other answer所建议的,问题出在您的导入中。
您只需添加jQuery UI导入及其样式表,滑块就会正常工作。
$('#price_range').slider({
range: true,
min: 100,
max: 50000,
values: [100, 50000],
step: 1,
stop: function(event, ui) {
$('#price_show').html(ui.values[0] + ' - ' + ui.values[1]);
$('#hidden_minimum_price').val(ui.values[0]);
$('#hidden_maximum_price').val(ui.values[1]);
//filter_data();
}
});
$("#price_range .tic").each(function(ind, elem) {
var c = $(elem).attr("class").split(" ");
var i = c.indexOf("tic");
c.splice(i, 1);
var pos = c.join("");
$(".slide-labels ." + pos).position({
my: "center bottom",
at: "right-5 top-4 ",
of: $(elem)
});
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<div class="list-group three-list">
<h3>Price</h3>
<input id="hidden_minimum_price" value="100" />
<input id="hidden_maximum_price" value="50000" />
<p id="price_show">100 - 50000</p>
<div class="slide-labels">
<div class="label pos-0 first">
$0
</div>
<div class="label pos-1">
$10,000
</div>
<div class="label pos-2">
$20,000
</div>
<div class="label pos-3">
$30,000
</div>
<div class="label pos-4">
$40,000
</div>
<div class="label pos-5 last">
$50,000
</div>
</div>
<div id="price_range">
<div class="tic pos-1">
</div>
<div class="tic pos-2">
</div>
<div class="tic pos-3">
</div>
<div class="tic pos-4">
</div>
</div>
</div>
https://stackoverflow.com/questions/69040696
复制相似问题