[英]Jquery UI Range Slider - Convert number to currency
我目前正在使用范围滑块,价格范围为0到2,000,000英镑。 目前,除了价格未格式化为货币外,其他所有东西都正常运行(即,500,000英镑的价值目前显示为500,000英镑-不带逗号)。 这是代码:
jQuery的
/* SALES SLIDER */
$( "#slider-range-price-sales" ).slider({
range: true,
min: 0,
max: 2000000,
step: 50000,
values: [ 0, 2000000],
slide: function( event, ui ) {
$("#minPrice").val("£" + ui.values[0]).toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "£1");
$("#maxPrice").val("£" + ui.values[1]);
}
});
$("#minPrice").val("£" + $("#slider-range-price-sales").slider("values", 0));
$("#maxPrice").val("£" + $("#slider-range-price-sales").slider("values", 1));
HTML
<div id="slider-range-price-sales"></div>
<div class="priceContainer">
<div class="left"><input type="text" id="minPrice" name="minPrice" style="border: 0; color: #3D80E9; background:#F2F2F2; font-weight: bold;" /></div>
<div class="right"><input type="text" id="maxPrice" name="maxPrice" style="border: 0; color: #3D80E9; background:#F2F2F2; font-weight: bold;" /></div>
</div>
http://jsfiddle.net/isherwood/RwfFH/
我尝试使用JavaScript .replace重新格式化最低价格,但无济于事。任何帮助或建议都将不胜感激。
谢谢杰米
您可以使用此功能添加所需的逗号
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;
}
和jsFiddle: http : //jsfiddle.net/RwfFH/1/ 。
为了与您的工作保持一致,您只需要进行一些更改。 我将指出,在.val()操作中设置值之前,您需要先对其进行修改。 同样,replace返回一个新字符串,它不会修改原始字符串。 完成后,您只需要在正则表达式中稍作调整,即$ 1,即可在替换中使用匹配的值。
$("#minPrice").val("£" + ui.values[0].toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.