bootstrap3のtimepickerを使って勤怠記録の様なものを作っているのですが
timepickerの入力値から就労時間の割り出しが出来ないか色々やってみましたが行き詰ってしまいました。
HTML
1 <input type="number" id="work_times" /> 2 <form id="jobsheet"> 3 <table> 4 <tr> 5 <th>作業内容</th><th>開始</th><th>終了</th> 6 </tr> 7 <tr class="works_row"> 8 <td> 9 <input type="text" name="works"> 10 </td> 11 <td> 12 <input class=" time start input-small" type="text" readonly="readonly" /> 13 </td> 14 <td> 15 <input class=" time end input-small" type="text" readonly="readonly" /> 16 </td> 17 </tr> 18 <tr class="works_row"> 19 <td> 20 <input type="text" name="works"> 21 </td> 22 <td> 23 <input class=" time start input-small" type="text" readonly="readonly" /> 24 </td> 25 <td> 26 <input class=" time end input-small" type="text" readonly="readonly" /> 27 </td> 28 </tr> 29 <tr class="works_row"> 30 <td> 31 <input type="text" name="works"> 32 </td> 33 <td> 34 <input class=" time start input-small" type="text" readonly="readonly" /> 35 </td> 36 <td> 37 <input class=" time end input-small" type="text" readonly="readonly" /> 38 </td> 39 </tr> 40 </table> 41 </form> 42
入力値はこのような文字列になります
この文字列から 各行の「開始」~「終了」までの時間を算出して
全ての行の合計を<input type="number" id="work_times" />に代入したいと思って。
一応こんなソースを書いては見たんですが全然ダメダメで.....
javascript
1<script type="text/javascript" src="/js/jquery.min.js" charset="UTF-8"></script> 2<script type="text/javascript" src="/js/bootstrap.min.js" charset="UTF-8"></script> 3<script type="text/javascript" src="/js/bootstrap-timepicker.min.js" charset="UTF-8"></script> 4<script type="text/javascript" > 5 6 $('input.time').timepicker({ 7 defaultTime: '', 8 showMeridian: false, 9 minuteStep:10, 10 showInputs: false, 11 interval: 1 12 }); 13 14 $(document).on('change','form#jobsheet', function(){ 15 var TotalHour = parseInt(0); 16 $('tr.works_row').each(function(){ 17 start_input = $(this).find('input.start').val(); 18 end_input = $(this).find('input.end').val(); 19 if(start_input && end_input){ 20 var start_time = '2000/01/01 ' + start_input + ':00'; 21 var end_time = '2000/01/01 ' + end_input + ':00'; 22 var start = parseInt( Date.parse(start_time) ); 23 var end = parseInt( Date.parse(end_time) ); 24 var wh = (end - start)/3600000; 25 TotalHour = (TotalHour + wh).toFixed(1); 26 } 27 }); 28 $('#work_times').val(work_hour); 29 }); 30</script> 31
無い知恵を色々絞ってやってみましたが上手く行きません...(--;)
どなたかご指南よろしくお願いします m(_ _)m
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/04/10 14:49