使用自定义步骤增量时,jQuery UI Slider默认值出现问题

我正在使用“snap to increment”JQuery UI Slider构建一个表单: https : //jqueryui.com/slider/#steps

我正在使用以下代码,以便滑块的自定义最小值为2501,但仍然会增加偶数500(不添加额外的1),直到达到最大值50000.因此步骤增量看起来像这样:2501> 3000 > 3500> 4000等,直到达到50000。

 $(function() { $("#slider").slider({ value: 10000, min: 2501, max: 50001, step: 500, range: "min", slide: function(event, ui) { var x = Number(ui.value); if (x > 2501) { x = x - (x % 500); } $("#LoanAmount").val('$' + addCommas(x)); } }); $("#LoanAmount").val('$' + addCommas($("#slider").slider("value"))); function addCommas(nStr) { nStr += ''; x = nStr.split('.'); x1 = x[0]; x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } return x1 + x2; } });  

我需要具有该值:10000以便滑块在该特定步骤上加载,但问题是它在页面上打印为10001而不是10000。

有关如何解决此问题的任何提示?

谢谢!

可能的解决方案是更正addCommas函数:

 $(function () { $("#slider").slider({ value: 10000, min: 2501, max: 50500, step: 500, range: "min", slide: function(event, ui) { var x = Number(ui.value); if (x > 2501) { x = x - (x % 500); } $("#amount").val('$' + addCommas(x)); } }); $("#amount").val('$' + addCommas($("#slider").slider("value"))); function addCommas(nStr) { var x = Number(nStr); if (x > 2501) { x = x - (x % 500); } nStr = x.toString(); x = nStr.split('.'); x1 = x[0]; x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } return x1 + x2; } });