首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在jquery ui滑块中随着输入值的变化而进行更改?

如何在jquery ui滑块中随着输入值的变化而进行更改?
EN

Stack Overflow用户
提问于 2021-09-03 06:57:05
回答 1查看 27关注 0票数 0

我已经做了价格范围jquery ui滑块。我想当用户在输入字段中输入正确的细节时,在滑块中进行更改。我已经尝试了一些代码,但它在我的特定项目中不起作用,但单独工作很好。有人能告诉我我到底要写些什么吗?

代码语言:javascript
复制
$('#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)
  });
});
代码语言:javascript
复制
<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不是一个函数。

请具体说明我要做什么。如果可能的话,显示正在运行的代码。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-09-07 06:47:16

正如other answer所建议的,问题出在您的导入中。

您只需添加jQuery UI导入及其样式表,滑块就会正常工作。

代码语言:javascript
复制
$('#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)
  });
});
代码语言:javascript
复制
<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>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69040696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档