jQuery UI 价格范围滑块处理小数

jQuery UI price range slider handling decimals

我正在使用 jQuery UI 中的价格范围滑块,并在我的配置代码中回显一些值。一切正常,只是最高价格显示不正确。当我回显两个 php 变量时,这是我看到的:

29.95
45

但在价格范围滑块中显示以下值:

29.95 - 44.95

当我将最低值更改为 30 时,它会正确显示最高值 (45),因此小数部分以某种方式打破了这一点。我该怎么做才能解决这个问题?

// Price filter
$("#price-slider").slider({
  range: true,
  min: 29.95,
  max: 45,
  values: [29.95, 45],
  slide: function(event, ui) {
    $("#min-price").val('€' + ui.values[0]);
    $("#max-price").val('€' + ui.values[1]);
  }
});

$("#min-price").val('€' + $("#price-slider").slider("values", 0));
$("#max-price").val('€' + $("#price-slider").slider("values", 1));
<script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="//code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="//code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">
<div id="price-slider"></div>
<input id="min-price" />
<input id="max-price" />

尝试添加 step 选项

step: 0.01

出现问题是因为步骤默认为1

$("#price-slider").slider({
  range: true,
  min: 29.95,
  max: 45,
  step: 0.01,
  values: [29.95, 45],
  slide: function(event, ui) {
    $("#min-price").val('€' + ui.values[0]);
    $("#max-price").val('€' + ui.values[1]);
  }
});
$("#min-price").val('€' + $("#price-slider").slider("values", 0));
$("#max-price").val('€' + $("#price-slider").slider("values", 1));
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<div id="price-slider" class="slide"></div>
<input id="min-price">
<input id="max-price">