更改最小值后 jQuerty UI 范围滑块错误

问题描述 投票:0回答:2
jquery-ui jquery-ui-draggable jquery-ui-slider
2个回答
1
投票

我遇到了同样的问题,我通过在最小值上使用 parseInt() 解决了它

$("#price-slider").slider({
        range: true,
        min: parseInt(price_min),
        max: price_max,
        values: [price_min, price_max],
        slide: function (event, ui) {
            $("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]);
        }
    });

我不知道为什么会这样,这似乎是合乎逻辑的,两个极端都会起到同样的作用,但显然事实并非如此。


0
投票

还有一个解决方案

我在 1.13.2 版本中遇到了同样的错误。然而,

parseInt
的解决方案对我没有帮助;

有什么帮助,乘以 1000 进行调整,然后除以 1000。

还是不明白问题出在哪里...

在 INIT 滑块传入参数之前是:

step = 1000

min = 33900

max = 1100000

selected_min = 33900

selected_max = 1100000

初始化后,没有
* 1000
/ 1000
滑块给了我

max_stop = 1099900

对我来说正确的是

$(element).slider({
   range: true,
   min: min * 1000,
   max: max * 1000,
   step,
   values: [selected_min * 1000, selected_max * 1000],
   slide: function (event, ui) {
      const min_stop = ui.values[0] / 1000;
      const max_stop = ui.values[1] / 1000;
      
      $(`#${attribute}-min`).val(min_stop);
      $(`#${attribute}-max`).val(max_stop);
   },
   stop: function (event, ui) {
       const min_stop = ui.values[0] / 1000;
       const max_stop = ui.values[1] / 1000;

       queryParams[attribute] = `${min_stop}-${max_stop}`;
       applyFilter();
   }
});
© www.soinside.com 2019 - 2024. All rights reserved.