javascript - Jquery UI Range Slider - 将数字转换为货币

标签 javascript jquery jquery-ui

我目前在 0 英镑到 2,000,000 英镑的价格范围内使用范围 slider 。目前,除了价格没有被格式化为货币(即 500,000 英镑的值(value)当前显示为 500000 英镑 - 没有逗号)之外,一切正常。这是代码:

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 重新格式化最低价格。替换无济于事。任何帮助或建议将不胜感激。

谢谢, 杰米

最佳答案

为了与您正在做的事情保持一致,您只需要进行一些更改。我会指出,在 .val() 操作中设置它之前,您需要修改该值。此外,replace 返回一个新字符串,它不会修改原始字符串。完成后,您只需要对正则表达式进行一些调整,$1 将在替换中使用匹配的值。

$("#minPrice").val("£" + ui.values[0].toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,"));

关于javascript - Jquery UI Range Slider - 将数字转换为货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18992053/

相关文章:

javascript - Google map 未加载 - Angular JS

javascript - 通过ajax函数调用验证

javascript - forEach 不是 JavaScript 数组的函数错误

javascript - 需要插入内联样式

javascript - 如何限制可折叠项目保持展开状态,除非我单击其他可折叠项目进行展开而不是可折叠项目本身

使用创建的对象调用另一个函数后,Javascript 创建的对象属性值未定义

javascript - 未捕获的语法错误 : Unexpected token }

JavaScript 不工作,说类未定义

jquery - Bootstrap 高度在显示错误时增加

javascript - 修改选项卡按钮的 Jquery-ui 选项卡布局