我怎样才能只获得在我的文本框中输入的小时数,然后乘以 rateperhour 中的 keyup 输入,然后在我的总数中显示答案?

How can I get Hours only that was inputted on my textbox and multiply with keyup input in rateperhour then display the answer in my total?

美好的一天!我有一个问题,关于如何获取在文本框上输入的小时数和多个名为 rateperhour 的另一个文本框,并在 rateperhour 更改时触发总数。谢谢愿意帮忙的人。我非常感激。非常感谢!

<script>
   $(function () { //calculate total OT

        $("#ratePerHour").keyup(function (e) {


            var ratePerHour = $("#ratePerHour").val();
            var endTime = $("#endTime").val;
            var OT = new Date(endTime).getHours();
            var result = "";

            if (ratePerHour !== "" && endTime !== "" && $.isNumeric(ratePerHour) && $.isNumeric(endTime)) {
                result = parseFloat(ratePerHour) * parseFloat(OT);
            }
            $("#otTotal").val(result);

        });
    });
</script>

您可以简单地使用 split(':')[0] 获取小时数,这会将您的 hh:mm:ss 拆分为数组,使用 [0] 将为您提供小时值,然后使用它来计算总数。

演示代码:

$(function() { //calculate total OT

  $("#ratePerHour").keyup(function(e) {
    var ratePerHour = $("#ratePerHour").val();
  
    var time1 = $("#endTime").val().split(':')[0];//get hours
   var OT =parseInt(time1, 10)//parse it 
    var result = "";
    if ((ratePerHour != "" && time1 != "") && ($.isNumeric(ratePerHour) && $.isNumeric(time1))) {
      result = parseFloat(ratePerHour) * parseFloat(OT);
    }
    $("#otTotal").val(result);
  console.log("Rate -- "+ratePerHour+" * "+OT+" = "+result)
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
ratePerHour :<input type="text" id="ratePerHour"> <br>
endTime : 
<input  type="time" step="1" id="endTime">
Total : <input type="text" id="otTotal">