首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery -在火狐中将数字输入值设置为浮点数

jQuery -在火狐中将数字输入值设置为浮点数
EN

Stack Overflow用户
提问于 2017-04-28 21:01:56
回答 1查看 2.3K关注 0票数 0

我有一个函数绑定到特定类的模糊事件(附加到数字类型输入),这是为了强制两位小数点。以下功能适用于Chrome,但在Firefox中不起作用。

代码:

代码语言:javascript
复制
/**
 *	Force 2 decimal places for specified inputs
 *
 */
$(document).on('blur', '.to-dec', function() {

  // get value
  var value = $(this).val();

  // no value
  if (!value) return;

  // cast to 2 decimal places
  value = parseFloat(value).toFixed(2);

  // update value
  $(this).val(value);

});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" class="to-dec" min="0" step="0.01" required>

如果在设置value之前输出它,则得到期望值(即。3.00输入值为3)。

有人知道为什么Firefox会阻止设置这个值吗?在用parseFloat()设置值时,我已经尝试过使用val()

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-28 21:28:10

使其在FireFox中工作的一种方法是使输入类型为"text“,并且仍然保持类型编号行为,并对代码进行轻微修改,例如,如果值为NaN,则清除输入。

代码语言:javascript
复制
$(document).on('blur', '.to-dec', function() {
  // get value
  var value = $(this).val();
  if (isNaN(value)) {
    $(this).val('');
  } else if (!value) {
    // no value
    return;
  } else {
    // cast to 2 decimal places
    value = parseFloat(value).toFixed(2);
    // update value
    $(this).val(value);
  }
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="to-dec" min="0" step="0.01">

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43688833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档