从输入中自动减去金额

时间:2018-11-20 18:33:38

标签: javascript jquery

使用jQuery,如何在不使用按钮输入后自动从输入中减去金额 例如当我在输入中键入数字时,我想在没有提交按钮的情况下自动将其减去-5,则200将为195。 可以吗?

4 个答案:

答案 0 :(得分:2)

编辑:如果您正在寻找纯JavaScript替代品(不使用jQuery):

您可以将此过程附加到输入事件,例如onkeyuponfocusout

function update() {
  amount = document.getElementById("amount");
  amount.value = parseInt(amount.value) - 5;
}
<input type="text" id="amount" onfocusout="update()">

答案 1 :(得分:2)

好的,这是在jquery中执行此操作的快速方法。试试下面的代码。添加一个数字,然后在输入中制表符或单击它,然后值将更改。

$('input').on('blur', function() {
  var num = $(this).val() - 5;
  $(this).val(num);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text">

答案 2 :(得分:0)

JavaSript解决方案。 这将为您工作。

document.getElementById("input").onblur = substract;

function substract() {
  let firstValue = event.currentTarget.value;
  let finalValue = Number(firstValue) - 5;
  document.getElementById("input").value = finalValue;
}

答案 3 :(得分:0)

为此,您需要创建一个函数并将输入Element附加到该函数。

创建一个将输入元素的更改减少5的函数。

var myfunction = function(){
      var value = parseInt(this.value);
     //check if input is of type int and less than five to avoid negative numbers.
     if( !value || value < 5 ){
          return false;
      }
     this.value = value - 5;
 };

 //ataching function to the element
var element = document.getElementById('my_input');
element.addEventListener( 'change', myfunction, false );