2013-03-12 5 views
0

테이블에서 jquery를 사용하여 일주일의 시간을 더하고 싶습니다. 텍스트 필드가 div의 총계를 변경할 때 total_amount를 업데이트해야하지만 그렇지 않습니다. 일하고있어.동적으로 Jquery의 필드 합계를 더하기

$(function() { 
$("[id$=day]").change(function() { 

var total = 0; 
$('table input[id$=day]').each(function() { 
    var sum_id = this.id; 
    total[this.value] += parseInt($('#' + sum_id).val(), 10); 
}); 

    $('div.total_amount').html(total); 
}); 
}); 

그리고 HTML 여기이 될 수

<td class="timesheet2"><input type="text" name="daymon" id="monday"> 
</td> 

<td class="timesheet2"><input type="text" name="daytue" id="tuesday"> 
</td> 

<td class="timesheet2"><input type="text" name="daywed" id="wednesday"> 
</td> 

<td class="timesheet2"><input type="text" name="daythurs" id="thursday"> 
</td> 

<td class="timesheet2"><input type="text" name="dayfri" id="friday"> 
</td> 

<td class="timesheet2"><input type="text" name="daysat" id="saturday"> 
</td> 

<td class="timesheet2"><input type="text" name="daysun" id="sunday"> 
</td> 

<td class="timesheet"><div id="total_amount"></div> 
</td> 

답변

0

최종 값을 표시하는 데 문제가있었습니다. ID가 필요할 때 클래스 선택기를 사용하고있었습니다. $ (':

http://jsfiddle.net/YE5vF/2/

HTML

<table> 
<tr> 
<td class="timesheet2"><input type="text" name="daymon" id="monday"></td> 
<td class="timesheet2"><input type="text" name="daytue" id="tuesday"></td> 
<td class="timesheet2"><input type="text" name="daywed" id="wednesday"></td> 
<td class="timesheet2"><input type="text" name="daythurs" id="thursday"></td> 
<td class="timesheet2"><input type="text" name="dayfri" id="friday"></td> 
<td class="timesheet2"><input type="text" name="daysat" id="saturday"></td> 
<td class="timesheet2"><input type="text" name="daysun" id="sunday"></td> 
<td class="timesheet"><div id="total_amount"></div></td> 
</tr> 
</table> 

JS

$("[id$=day]").change(function() { 
    var total = 0;  
    $('.timesheet2 input').each(function() { 
     total = total + Number($(this).val()); 
    }); 
    $('div#total_amount').html(total); 
}); 
+0

고마워요! 간과 한 ... – RJMB

0

입니다 더 나은 생각합니다.

var sum = 0; 
    $('.timesheet2').each(function() { 
     sum += Number($(this).val()); 
    }); 

    $('#total_amount').html(sum); 
});​​​​​​​​​ 
+0

당신의 선택이 잘못, 그것은 입력 선택뿐만 아니라 .timesheet2 선택이 필요합니다. timesheet2 입력 '). 각 .... – Lowkase

관련 문제