繁体   English   中英

使用所选项目更改选项标签计算时差HH; MM

[英]Calculating difference time HH;MM with selected item change option tag

伙计,我在创建用于计算HH; MM中的时差的代码时遇到问题,但是我需要通过选择选项标签中的选定项目更改来做到这一点。

当选择了选项标签时,该函数具有差分方法来计算时间。 这是我做的小提琴...这是没有选项标签的第一把小提琴

 $(document).ready(function(){ var $time1 = $("#start"); var $time2 = $("#end"); var $diff = $("#totalTime"); function updateHours(){ var dtStart = new Date("7/20/2015 " + $time1.val()); var dtEnd = new Date("7/20/2015 " + $time2.val()); var diff = ((dtEnd - dtStart)) / 1000; var totalTime = 0; var overTime = 0; if (diff > 60*60*8) { totalTime = formatDate(60*60*8); ; } else { totalTime = formatDate(diff); } $diff.val(totalTime); } function formatDate(diff){ var hours = parseInt( diff / 3600 ) % 24; var minutes = parseInt( diff / 60 ) % 60; var seconds = diff % 60; return (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes); } $("#start, #end").on("change, keyup", function(){ if($time1.val() && $time2.val()){ updateHours(); } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="time" id="start" name="logintime"/> <input type="time" id="end"name="logouttime" /> <br /><br /> Total: <input id="totalTime" readonly="readonly" /> <br /><br /> 

和我想要做的这个小提琴。 但是我没有做到。 我不知道为什么功能不能正常运行。 请帮我解决这个问题

 $(document).ready(function(){ var $time1 = $("#start"); var $time2 = $("#end"); var $diff = $("#jam_total"); function updateHours(){ var dtStart = new Date("7/20/2015 " + $time1.val()); var dtEnd = new Date("7/20/2015 " + $time2.val()); var stats1 = $("#status_check").val(); var diff = ((dtEnd - dtStart)) / 1000; if(stats1!='TERUS'){ var diff = ((dtEnd - dtStart)) / 1000; }else if(stats1!='ISTIRAHAT'){ var diff = ((dtEnd - dtStart - 1)) / 1000; }else if(stats1!='TANPA ISTIRAHAT'){ var diff = ((dtEnd - dtStart)) / 1000; } var totalTime = 0; var overTime = 0; if (diff > 60*60*8) { totalTime = formatDate(60*60*8); ; } else { totalTime = formatDate(diff); } $diff.val(totalTime); } function formatDate(diff){ var hours = parseInt( diff / 3600 ) % 24; var minutes = parseInt( diff / 60 ) % 60; var seconds = diff % 60; return (hours < 10 ? "0" + hours : hours) + ":" + (minutes < 10 ? "0" + minutes : minutes); } $("#option2").on("change, keyup", function(){ if($time1.val() && $time2.val()){ updateHours(); } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="time" id="start" name="logintime"/> <input type="time" id="end"name="logouttime" /> <br /><br /> <select name="option2" id="option2" onchange="Choose1(this)" style="float:left"> <option value="-">-</option> <option value="terus">terus</option> <option value="istirahat">istirahat</option> <option value="tanpa istirahat">tanpa istirahat</option> </select><input type="text" name="status_check" size="8" readonly="readonly" id="status_check" style="text-transform:uppercase" /> <br /><br /> Total: <input type="text" id="jam_total" type="text" name="jam_total" size="18" readonly="readonly"> <br /><br /> 

像这样改变事件

$("#option2").on("change", function(){ //keyup removed       
});

希望有帮助,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM