字段只在刷新后计算

Fields calculating only after a refresh

本文关键字:计算 刷新 字段      更新时间:2023-09-26

我提前为我认为是一个非常基本的问题道歉,但我对脚本编写非常陌生,想就我遇到的问题征求一些建议。

本质上我正在创建一个网站,应该根据工作时间和返回总金额的两个领域的美元金额之和。其中一个字段有固定的美元金额,而另一个字段是一个变量。

据我所知,代码应该是工作的,但是应该是用户生成的字段(exceptionalrate)似乎只有在页面刷新后才能正确计算,然后只有在firefox上…而不是在用户字段

发生更改时自动更新总价值

代码如下:

    <head>
    </head>
    <body>
    <script>
     $(document).ready(function () {
var standardRate = 110;
var exceptionalRate = $("#ex_rate").val();
var standardEntry = 0;
var exceptionalEntry = 0;
var totalVal = 0;
$("#Standard").on("change",function(){
  standardEntry = $(this).val() * standardRate;
  totalVal = standardEntry + exceptionalEntry;
  $("#Amount").val(totalVal);
});
$("#Exceptional").on("change",function(){
  exceptionalEntry = $(this).val() * exceptionalRate;
  totalVal = standardEntry + exceptionalEntry ;
  $("#Amount").val(totalVal);
});
</script>

,这是HTML的一面:

    <input name="Standard" type="number" step="any" value="0" id="Standard" size="10" />
    <input type="text" size="10" name="ex_rate" id="ex_rate" />
    <input name="Exceptional" type="number" step="any" value="0" id="Exceptional" size="10" />
    <td valign="top" nowrap="nowrap"><font size="2">Total Amount Requested </font></td>
<td><input name="Amount" type="text" id="Amount" size="35"/></td>

提前感谢您的智慧和知识。

您忘记关闭$(document).ready函数

尝试:

$(document).on("change", "#Standard", function(){

:

$(document).on("change", "#Exceptional", function(){

问题是您的exceptionalRate变量超出了计算范围,并且只在页面加载时被设置为初始值。您需要在更改处理程序中移动它:

$("#Exceptional").on("change",function(){
  exceptionalRate = $("#ex_rate").val();
  exceptionalEntry = $(this).val() * exceptionalRate;
  totalVal = standardEntry + exceptionalEntry ;
  $("#Amount").val(totalVal);
});