You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取jQuery UI范围滑块的值并存储用于条件判断?

获取jQuery UI价格范围滑块的值并用于条件判断

实现方案

因为你使用的是范围滑块(可设置价格区间),我们可以通过全局变量存储滑块的最小/最大值,之后在按钮点击事件中直接调用这些变量进行条件判断。以下是修改后的完整代码及关键说明:


修改后的HTML代码

<!DOCTYPE html>
<html lang="en">
<head>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
  <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
</head>
<body>
  <div class="slider" id="slide">
    <div id="slider-range" style="width: 50%; left: 25%; background-image: linear-gradient(to top, #bd6077 0%, #ec7e5d 100%);"></div>
    <p>
      <label for="amount" style="color: #f6931f; position: relative; left: 45%;">Price range:</label>
      <input type="text" id="amount" style="border:none; color:#f6931f; font-weight:bold;left: 45%; position: relative; background-color: rgb(48, 43, 43); width: 20%;">
    </p>
  </div>
  <!-- 添加推荐按钮 -->
  <button id="recommend" style="position: relative; left: 45%; margin-top: 20px;">推荐产品</button>
  <!-- 弹窗元素 -->
  <div id="model" style="display: none; padding: 20px; background: white; border: 1px solid #ccc;">符合条件的产品推荐</div>
</body>
</html>

修改后的JavaScript代码

// 定义全局变量存储价格区间的最小/最大值
let priceMin = 0;
let priceMax = 100;

$("#slider-range").slider({
  range: true,
  min: 0,
  max: 10000,
  values: [priceMin, priceMax],
  slide: function(event, ui) {
    // 更新输入框的价格显示
    $("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]);
    // 实时同步滑块值到全局变量
    priceMin = ui.values[0];
    priceMax = ui.values[1];
  },
  stop: function(event, ui) {
    // 可选:滑块停止拖动时再更新变量(和slide事件二选一即可)
    priceMin = ui.values[0];
    priceMax = ui.values[1];
    console.log(`当前价格范围:$${priceMin} - $${priceMax}`);
  }
});

// 推荐按钮点击事件
document.getElementById('recommend').addEventListener("click", () => {
  // 假设selected、selected2是你页面中已定义的元素
  const selected = document.querySelector('.your-selector-1');
  const selected2 = document.querySelector('.your-selector-2');
  
  // 使用存储的价格变量进行条件判断
  if(selected.textContent === "Productivity" && selected2.textContent === "1080P" && priceMax > 1000) {
    $("#model").show();
  } else {
    // 不符合条件时隐藏弹窗
    $("#model").hide();
  }
});

关键说明

  1. 全局变量存储:通过priceMin和priceMax两个全局变量,将滑块的当前值持久化存储,方便后续在按钮点击事件中直接调用。
  2. 实时更新变量:在滑块的slide事件中实时同步值,确保拖动过程中变量始终是最新状态;如果不需要实时更新,仅保留stop事件中的赋值即可。
  3. 条件判断逻辑:根据需求使用priceMax > 1000判断价格上限,你也可以修改为判断下限(priceMin > 1000)或区间包含特定值等逻辑。

内容的提问来源于stack exchange,提问作者TrealFaisal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 07:35:16