javascript - 如何使用jquery像excel一样显示负整数的括号

标签 javascript jquery html

我正在开发一个金融计算器,我想在值周围显示括号,例如 excel 中的负数,我已经在为小数值执行自定义属性实际值并显示舍入值,因此很难为此或管理另一个属性应用 if 检查每个输入和结果,因为有数千次计算。

例如。

var value = -20000 // actual value

所以如果我设置输入值

$("#input").val(value);

我想展示

(20000)

但是当我获得值时,不需要 $("#input").val() 中的括号,需要相同的结果

最佳答案

可以通过 blur 函数将值从负号 (-) 更改为大括号。挑战是在触发 val() 事件时获取正确的值。这可以通过覆盖 val() 事件并在那里进行操作来完成。

(function($) {
  var originalVal = $.fn.val;
  $.fn.val = function(value) {
    if (arguments.length >= 1) {
      // setter invoked, do processing

      return originalVal.call(this, value);
    }
    //getter invoked do processing
    if ($(this).attr('data-type') == 'number') {
      var valueToReturn = originalVal.call(this);
      return valueToReturn.replace(/\(/g, '-').replace(/\)/g, '');
    }
    return originalVal.call(this);
  };
})(jQuery);

我从 here 中汲取了重写 val() 事件的想法.

我创建了一个 jsFiddle here来证明这一点。请注意,在按钮单击事件处理程序中,我们只是使用 $('#myNumber').val() 来获取正确的值。

请注意,您仍然需要处理无效数字的情况。

希望这有帮助!

关于javascript - 如何使用jquery像excel一样显示负整数的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34268026/

相关文章:

javascript - 分离键值对并放入另一个数组中

javascript - JavaScript 捕获弹窗关闭事件

javascript - $(...).DataTable(...).rows 不是函数

html - 使用 CSS 完全居中图像?

javascript - jquery 无限 slider 图片

javascript - AngularJS ui-select,如何初始化多选值?

javascript - 在javascript中获取构造函数的名称

javascript - 用于文档预览的 Jquery 脚本?

jquery - 如何在 jQuery 中获取 <p> 的 span 的第一个父级?

html - <ul> 中的要点