如何使用输入类型编号中的值进行计算并将值设置为其他输入?

时间:2017-08-15 03:27:20

标签: javascript jquery

如何使用输入类型编号中的值进行计算并将值设置为其他输入?

对于此案例填充值5填充multiple with 3时,我希望将该值用于15并将值id yyy输入到<p> <input name="xxx" type="number" id="xxx" onkeydown="return isNumber(event)"> </p> <p> <input name="yyy" type="number" id="yyy" disabled > </p> <script> function isNumber(number_check) { number_check = (number_check) ? number_check : window.event; var charCode = (number_check.which) ? number_check.which : number_check.keyCode; if (charCode > 31 && (charCode < 48 || charCode > 57)) { return false; } return true; } </script> < / p>

我该怎么办?

&#13;
&#13;
{{1}}
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

由于输入#xxx是类型编号,因此您不需要return false是值isn&#39; ta ...它就是不可能发生。< / p>

所以你只需要获取值并将其解析为整数(输入的值类型是文本)以对其执行数学运算。

然后,正确的事件是keyup,而不是keydown(因为此时该值尚未在该字段中)或更改。

&#13;
&#13;
$("#xxx").on("keyup change", function(){
  $("#yyy").val( parseInt($("#xxx").val())*3 );
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p>
<input name="xxx" type="number" id="xxx">
</p>

<p>
<input name="yyy" type="number" id="yyy" disabled >
</p>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以使用简单的功能

来完成

function isNumber(number_check) {
    number_check = (number_check) ? number_check : window.event;
    var charCode = (number_check.which) ? number_check.which : number_check.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        return false;
    }
    return true;
}
var multiplyBy3 = function() {
  var x = document.getElementById("xxx").value;
  document.getElementById("yyy").value = x * 3;
}
<p>
<input name="xxx" type="number" id="xxx" onkeydown="return isNumber(event)">
</p>
<button onclick="multiplyBy3()">Multiply By 3</button>
<p>
<input name="yyy" type="number" id="yyy"  disabled >
</p>