Copy
<script language="javascript">function addItem() { var lo_table = document.getElementById("TblAttach"); var row_index = lo_table.rows.length; // 테이블(TR) row 개수 newTr = lo_table.insertRow(row_index); newTr.idName = "newTr" + row_index; newTd=newTr.insertCell(0); newTd.innerHTML= "<input type=text name="situation[]" align=absmiddle >"; newTd=newTr.insertCell(1); newTd.align = "center"; newTd.innerHTML= "<input type=text name="money[]" align=absmiddle >";}function delItem(){ var lo_table = document.getElementById("TblAttach"); var row_index = lo_table.rows.length-1; // 테이블(TR) row 개수 if(row_index > 0) lo_table.deleteRow(row_index); }</script>
해당의 소스로 추가 버튼을 누르게 되면
입력창이 2개가 나오며, 추가 버튼이 누르면 아래로 계속 추가가 되어집니다.
현재 "<input type=text name="money[]" align=absmiddle >";
이곳에서 입력되는 숫자들에 대해 합계를 구하려고 하는데...
자스는 정말 어렵네요...
동적으로 추가 될때마다 자동으로 합산이 되었으면 하는데...
조언 좀 부탁 드립니다.
|
답변 2개 / 댓글 9개
채택된 답변
+20 포인트
2015-07-17 (금) 13:25:01
Copy
function sum() { var obj = document.getElementsByName("money[]"); var total = 0; for(i=0; i<obj.length; i++) { total += parseInt(obj[i].value); } alert(total);}
이런 식으로 하면 되겠네요.
답변에 대한 댓글 8개
레스트ㅡ제윤아빠
2015-07-17 (금) 14:05:55
2015-07-17 (금) 14:10:40
저 링크로 가 보면 아시겠지만 addItem()이랑 delItem() 이 함수랑 관련된 건 아예 건들지도 않았는데 기존 스크립트가 작동을 안 한다는 건 다른 부분이 문제라고 볼 수밖에 없겠네요.
하나식 찍어 보면서 테스트 해 보시는 수밖에 없겠네요.
하나식 찍어 보면서 테스트 해 보시는 수밖에 없겠네요.
레스트ㅡ제윤아빠
2015-07-17 (금) 15:49:49
아하...ㅠ 숫자 합이 잘 되네요.
혹시 sum 클릭 및 alert의 값 확인 말고...
<span id="total></span>
이런식으로 출력이 되게 할수도 있을까요 ? ㅠ
혹시 sum 클릭 및 alert의 값 확인 말고...
<span id="total></span>
이런식으로 출력이 되게 할수도 있을까요 ? ㅠ
2015-07-17 (금) 15:55:28
document.getElementById("total").innerHTML = total;
이런 식으로 하시면 될 것 같네요.
근데 자바스크립트 변수명이랑 중복되니까 다른 이름으로 바꾸시는 게 ㅎㅎ
이런 식으로 하시면 될 것 같네요.
근데 자바스크립트 변수명이랑 중복되니까 다른 이름으로 바꾸시는 게 ㅎㅎ
레스트ㅡ제윤아빠
2015-07-17 (금) 16:01:39
function sum() {
var obj = document.getElementsByName("money[]");
var total = 0;
for(i=0; i<obj.length; i++) {
total += parseInt(obj[i].value);
}
document.getElementById("total_money").innerHTML = total;
//alert(total);
}
해당 형식 으로하고,
<table>
<tbody>
<th>합계</th>
<td>\<span id="total_money" onClick="sum();">클릭</span></td>
</tbody>
</table>
이렇게 하니...클릭하면 나오는군요 ㅎ 감사합니다.
혹 클릭하지 않고 실시간 반영도 가능한지요...ㅠ 자꾸 물어 죄송합니다 ㅠㅠ
var obj = document.getElementsByName("money[]");
var total = 0;
for(i=0; i<obj.length; i++) {
total += parseInt(obj[i].value);
}
document.getElementById("total_money").innerHTML = total;
//alert(total);
}
해당 형식 으로하고,
<table>
<tbody>
<th>합계</th>
<td>\<span id="total_money" onClick="sum();">클릭</span></td>
</tbody>
</table>
이렇게 하니...클릭하면 나오는군요 ㅎ 감사합니다.
혹 클릭하지 않고 실시간 반영도 가능한지요...ㅠ 자꾸 물어 죄송합니다 ㅠㅠ
2015-07-17 (금) 17:05:58
addItem() 함수 제일 밑에
newTd.onkeyup = function() {
sum();
};
넣어 보세요.
newTd.onkeyup = function() {
sum();
};
넣어 보세요.
devdev
2015-07-17 (금) 12:32:42
"<input type=text name="money[]" onChange="money_sum();" align=absmiddle >";
이부분에 onChange="money_sum();" 넣으시고 함수 생성하시면 될듯 합니다
function money_sum(){
전체 합계 로직
}
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
올려주신 소스를 넣으니 동적 추가가 또 않되구요...ㅠ