0

HTMLテーブルでいくつかの数学演算を実行するために、いくつかのJavascriptコードに取り組んできました。最初に行の平均を計算し、次にメニューから同じ選択をしたすべての行の平均の合計を計算します。

平均計算は正しく機能していますが、平均の合計で何かが壊れています。サンプルの JSFiddle をセットアップしました。

http://jsfiddle.net/fmdataweb/c4gJU/3/

メニューからリスクとして「中程度」を選択し、1 週間あたりの時間数と 1 年あたりの週数に数値を入力すると、平均が計算されますが、中程度のセルの合計に平均が入力されます。メニュー選択を「高」に変更した場合も同様です。

誰かが私が間違っている場所を指摘できるかどうかに感謝します-私はこの段階でJavascriptの初心者です。

4

1 に答える 1

5

セレクター$('#lastYear tr:has(.risk)').eq(i).find('td:last input')がどの要素とも一致しません。

テスト:

alert($('#lastYear tr:has(.risk)').eq(i).find('td:last input').length)行の下に行を挿入するとvar qty = parseFloat(...)、ポップアップ ウィンドウが表示されます0

編集

var qty = parseFloat($('#lastYear tr:has(.risk)').eq(i).find('td:last').prev().find('input').val());

@Diegoが指摘したように、元のコードは、ボタンではなくボタンを持つセルに一致していますinput。上記のコードは、最後のセルの前のセルを選択し、その入力を取得します。ただし、セレクターを短くして読みやすくするために、カスタム クラスまたは ID を使用することをお勧めします。

于 2012-08-14T13:23:53.497 に答える