使用jQuery,如何在不使用按钮输入后自动从输入中减去金额 例如当我在输入中键入数字时,我想在没有提交按钮的情况下自动将其减去-5,则200将为195。 可以吗?
答案 0 :(得分:2)
编辑:如果您正在寻找纯JavaScript替代品(不使用jQuery):
您可以将此过程附加到输入事件,例如onkeyup
或onfocusout
:
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 );