質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

2740閲覧

二つのtimepickerの入力値から時間を算出したいです

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2016/04/10 13:47

編集2016/04/10 13:57

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

3箇所で parseInt していますが、しなくてもどれももとから int です

動かしてないですが、問題点はたぶん次の2ヶ所です

1つめ
TotalHour = (TotalHour + wh).toFixed(1);

toFixed を使うと文字列になります
文字列に数値を足すと文字列結合されてしまい求めている結果になりません

2つめ
$('#work_times').val(work_hour);

work_hour というのは宣言されていないです
TotalHour の間違いだと思います

まとめると

javascript

1// 前略 2 TotalHour = (TotalHour + wh).toFixed(1); 3 } 4 }); 5 $('#work_times').val(work_hour);

javascript

1// 前略 2 TotalHour += wh; 3 } 4 }); 5 $('#work_times').val(TotalHour.toFixed(1));

で良いかと思います

投稿2016/04/10 14:47

ryls-nmm

総合スコア633

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/04/10 14:49

ありがとうございます..♪ きちんと最後まで動きました^^
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問