获取 2 个输入字段中的舍入值,当其中一个输入字段更新时,这些输入字段会更新

Get rounded values in 2 input fields that update when one of them updates

本文关键字:字段 输入 更新 一个 舍入 获取      更新时间:2023-09-26

我总共有 3 个输入字段。

用户在第一个中输入一个数值。现在,当用户在第二个或第三个中输入一个值时,无论它是哪个更新,它都是其他更新(例如,如果是第二个,那么第三个更新,如果是第三个更新,第二个更新)。

第二个只是一个数字,第三个是相对于第一个输入字段的相应变化百分比。

您将很容易看到我在小提琴中所说的内容:https://jsfiddle.net/1g570e7x/

但是,我想在输入

发生后立即舍入第二个和第三个输入字段的值,然后像以前一样更新相应的字段。

例如:用户在第一个输入中输入 50,然后在第二个输入中输入 40,该字段更改为 40.00,第三个字段更改为 20.00

这是 HTML:

<input id="input1" type="number"/>Stock<br><br>
<label for="input2">Remainder</label>
<input id="input2" type="number"/><br>
<label for="input3">Percentage of loss</label>
<input id="input3" type="number"/>%<br>

和jQuery:

$(document).ready(function(){
    $('#input2').on('input',function(){
    var stock=$('#input1').val();
    var value=$('#input2').val();
    $('#input3').val((stock-value)/stock*100);
  });
    $('#input3').on('input',function(){
    var percnt=$('#input3').val();
    var stock=$('#input1').val();
    $('#input2').val(stock-(stock*percnt/100));
  });
  $('#input1').on('input',function(){
    if($('#input2').val()!=''){
      $('#input2').trigger('input');
    }
    if($('#input2').val()!=''){
     $('#input3').trigger('input');
    }
  });
});
您可以使用

parseFloat将字符串转换为浮点数,然后使用 float 的 toFixed 函数将其设置为正确的小数位数:

var value = '33.234234234';
var float = parseFloat(value);
alert(float.toFixed(2));