如何解决如何获得仅在文本框中输入的小时数,并与rateperhour中的keyup输入相乘,然后显示总计中的答案?
美好的一天!我有一个问题,如何获取在文本框中输入的小时数,以及如何与另一个名为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">
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。