私はこの現在のスクリプトを列平均計算に使用していますが、I は入力から値を取得できません。コードは、
td
にあるものにのみアクセスします。javascriptを使用してhtml TDタグ内の入力フィールドから値を取得する
なぜ結果がNaN
であるか教えてください。
私は
td
に値を入れてみました、それは大丈夫だが、私は、入力タイプの内部値 を必要としています。入力の値にアクセスするにはどうすればよいですか?この表は、入力フィールドであるための更新フォームです。
また、すべての入力フィールドにkeyupイベントを追加するにはどうすればよいですか?
サンプル出力
Subject | Term1 | Term2 | Term3 | Term4
Math 81 87 81 80
Science 89 83 81 80
Average | 85 | 85 | 81 | 80
HTML
<div class="table table-responsive table-bordered">
<table class="table">
<thead>
<th colspan="3">Subjects</th>
<th colspan="2">First Grading</th>
<th colspan="2">Second Grading</th>
<th colspan="2">Third Grading</th>
<th colspan="2">Fourth Grading</th>
</thead>
<tbody>
@foreach($update_card['AllGrade'] as $subject) {!! Form::hidden('grade_id[]',$subject['grade_id']) !!}
<tr>
<td colspan="3">{!! $subject->subject !!}</td>
<td colspan="2"><input type="text" name="term_1[]" value="{!! $subject->term_1 !!}" class="form-control number-only"></td>
<td colspan="2"><input type="text" name="term_2[]" value="{!! $subject->term_2 !!}" class="form-control number-only"></td>
<td colspan="2"><input type="text" name="term_3[]" value="{!! $subject->term_3 !!}" class="form-control number-only"></td>
<td colspan="2"><input type="text" name="term_4[]" value="{!! $subject->term_4 !!}" class="form-control number-only"></td>
</tr>
@endforeach
<tr id="average">
<td colspan="2">Average</td>
<td colspan="2">0</td>
<td colspan="2">0</td>
<td colspan="2">0</td>
<td colspan="2">0</td>
</tr>
</tbody>
</table>
スクリプト
$(document).ready(function(){
$("#average td").each(function(k,v){
debugger;
if(k>0){
$sum=0;
$row = $(this).closest("table").find("tr");
$($row).each(function(key,val){
if(key>0 && key<$row.length-1){
$sum+=parseInt($($(this).find("td")[k]).text());
}
})
$(this).text($sum/($row.length-2));
}
})
});
も? – Chiloy
'.text()'の代わりに '$(" input ").val()を使用する –
セルにはtext()を使用し、そうでなければval()を使用します。 キーリスナーの場合、$(yourInput).click(select_element);を使用します。 – orabis