![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.1ベストアンサー
- 回答日時:
こんばんは。
↓↓ こんなので、どぉです??
--------------------------------------------
<html>
<body>
<SCRIPT LANGUAGE="JavaScript">
function timecalc() {
h1 = parseInt(document.frm.pro1h.value);
m1 = parseInt(document.frm.pro1m.value);
h2 = parseInt(document.frm.pro2h.value);
m2 = parseInt(document.frm.pro2m.value);
minute = h1 * 60 + m1 + h2*60 + m2;
hr = Math.floor(minute / 60);
mina = minute - hr * 60;
alert(hr + "時間" + mina + "分");
}
</SCRIPT>
<form name="frm">
工程1:
<select name="pro1h" onChange="timecalc()">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>時間
<select name="pro1m" onChange="timecalc()">
<option value="00">00</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option value="50">50</option>
</select>分
<br><br>
工程2:
<select name="pro2h" onChange="timecalc()">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>時間
<select name="pro2m" onChange="timecalc()">
<option value="00">00</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option value="50">50</option>
</select>分
<br><br>
</form>
</body>
</html>
--------------------------------------------
即席でザザザザッと作ってしまったので、不備あるかもしれません(PC上では動作確認すみ)。ご質問、大歓迎です!
この回答への補足
ありがとうございます。
大変参考になります。
もう1点だけ教えて下さい。
工程が複数存在する為、それを表示させる為にループでまわし
ながら表示させています。
その際に、教えて頂いたような個々のSELECTに名称が付ける事
ができず、名称自体も変数になってしまいます。
そのような場合の記述の仕方を教えて頂きたいと思います。
よろしくお願いします。
No.3
- 回答日時:
レスありがとうございます~
さて、もし私のカン違いだったら平にご容赦(!)。おたずねの「引数」が、JavaScript の関数「timecalc()」をコールするときの引数という意味であれば、これは不要ということになります。その理由は、どのプルダウンの値が変更されても「すべてのプルダウンの現在の値を引っ張ってきて再計算させる」ということに変わりはないからです。これに対して、どのプルダウンが変更されたかによって timecalc() の動作が変わってくるのであれば、timecalc(x) のように引数が必要となってきますね~。
もし、私の解釈が違っていたら、申し訳ないですが補足をお願いいたしますです~
あと、引き続き 追加のご質問も歓迎ですよ。
No.2
- 回答日時:
レスありがとうございました。
いやいや、一点だけなどとおっしゃらず何点でもお尋ねくださいまし~[笑]。
さて、おたずねの件ですが…
まず、JavaScript 側の
-----------------------------------------------------
h1 = parseInt(document.frm.pro1h.value);
m1 = parseInt(document.frm.pro1m.value);
-----------------------------------------------------
というのがありますが、これをPHPで出力するのがよいでしょう。
すなわち
print "h".$i." = parseInt(document.frm.pro".$i."h.value);";
print "m".$i." = parseInt(document.frm.pro".$i."m.value);";
としておいて、$i の値を for 文などで まわせば、必要個数の h1,1m,h2,m2…
を得る式が生成できます。
あと、その下の
-----------------------------------------------------
minute = h1 * 60 + m1 + h2*60 + m2;
-----------------------------------------------------
も、PHPで動的に生成すれば、minute の値を得ることができます。
次は、html 側です。
-----------------------------------------------------
<select name="pro1h" onChange="timecalc()">
<select name="pro1m" onChange="timecalc()">
-----------------------------------------------------
これも、PHPで出力できます:
print "<select name='pro".$i."h' onChange='timecalc()'>";
print "<select name='pro".$i."m' onChange='timecalc()'>";
…というようなことを参考に、やってみて頂けますか?
もしご不明の点があれば、追加のご質問大歓迎です~。
この回答への補足
ありがとうございます。
お言葉に甘えて質問させて頂きます。
print "<select name='pro".$i."h' onChange='timecalc()'>";
print "<select name='pro".$i."m' onChange='timecalc()'>";
html側での処理で、ここでは引数として何か渡さなくても良いので
しょうか。。。
教えて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 50台の織機から回転数を取得・集計しモニターに表示したい 2 2022/11/05 15:48
- その他(プログラミング・Web制作) プログラミング 処理速度 1 2022/11/25 11:05
- 投資・株式の税金 一般口座で同一銘柄の総平均法のことで 1 2023/02/27 22:08
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- その他(ソフトウェア) F-BASICで計算中の実行が中途で勝手に止まり、大変困っています。 2 2023/03/02 16:15
- Excel(エクセル) 電卓は正しいのに エクセルで計算させると間違った答えです。なぜ? 7 2022/08/11 07:04
- C言語・C++・C# C言語 3 2022/10/04 15:07
- その他(Microsoft Office) Excelで時間計算(負) 8 2023/02/26 05:47
- その他(ビジネス・キャリア) 日報の実務労働時間の集計について困っています。 2 2023/06/09 19:00
- 数学 『最後の自然数はどんな数か』 3 2023/06/26 20:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptで<select>の<option...
-
javascriptでセレクトボックス...
-
addclassがうまく働きません
-
<input>の選択肢をプルダウンメ...
-
VBScriptでHTMLのセレクトボッ...
-
JavascriptからSQLへ繋ぎ方が分...
-
selectを変更不可にしたい
-
【javascript】連想配列からセ...
-
プルダウン選択を変更すると、...
-
selectが変更されたらnameを指...
-
連想配列からセレクトボックス...
-
javascriptでの時間計算
-
今日の日付を自動的にセレクト...
-
同じ名前のセレクトがある場合...
-
プルダウンで選択した項目にあ...
-
プルダウンの値によって活性・...
-
selectの初期値を設定したい
-
まったく同じ<select>フォーム...
-
select option value が IE だ...
-
selectボックスで選択数を制限...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでセレクトボックス...
-
selectを変更不可にしたい
-
全てのselect要素をデフォルト...
-
<input>の選択肢をプルダウンメ...
-
Selectボックスの一覧表示方法
-
プルダウン選択を変更すると、...
-
セレクトボックスで配列を呼び...
-
JavaScriptで<select>の<option...
-
プルダウンのoptionの表示・非...
-
select要素のvalueを配列で取得...
-
【javascript】連想配列からセ...
-
ラジオボタンとプルダウンを連...
-
同じ名前のセレクトがある場合...
-
selectボックスの選択結果を変...
-
プルダウンの値によって活性・...
-
javascriptで合計金額を算出し...
-
プルダウンメニューに連動する...
-
リストボックス内の重複したも...
-
VBScriptでHTMLのセレクトボッ...
-
連想配列を使ってコンボボック...
おすすめ情報