개발 Q&A

제목 동적 input 배열로 if문 합계문의 좀 드립니다.
카테고리 PHP
글쓴이 초보임돠 작성시각 2017/11/17 15:55:25
댓글 : 0 추천 : 0 스크랩 : 0 조회수 : 10211   RSS

동적테이블로 만들어서 row가 추가가 되도록 했습니다.

기존에 만들때 배열로 만들지 않아서 name명이 중복이 되어 배열로 만들어서 테스트를 해보니 작동이 되지 않습니다.

아래 테이블에 과일선택후 갯수와 금액을 넣으면 위에 테이블에 각각의 과일에 갯수와 금액이 들어가

추가한 row의 값이 더해져 누적이 되도록 안되네요

아래는 소스입니다.

기존에는 $("select[name='Add_02']").each(function(i) { 에 [] 배열을 넣지 않아서 되었는데

지금은 넣으니 안되는데 검색시에 name에 ''넣으면 된다는데 안되는 이유가.ㅠㅠ

<html>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>

<meta charset="utf-8">

<head>

<title></title>

</head>

<table class="tstyle" border="1">

<thead>

<tr>

<th colspan="2">

사과</th>

<th colspan="2">

수박</th>

<th colspan="2">

딸기</th>

<th rowspan="2">

총합</th>

</tr>

<tr>

<th>

사과수</th>

<th>

금액합계</th>

<th>

수박수</th>

<th>

금액합계</th>

<th>

딸기수</th>

<th>

금액합계</th>

</tr>

</thead>

<tbody>

<tr>

<td>

<input type="text" name="apple" size="5"  value="0" style="width:100%" /></td>

<td>

<input type="text" name="apple_sum" size="5"  value="0" readonly style="width:100%"/></td>

<td>

<input type="text" name="water" size="5"  value="0" style="width:100%" /></td>

<td>

<input type="text" name="water_sum" size="5"  value="0" readonly style="width:100%"/></td>

<td>

<input type="text" name="straw" size="5"  value="0" style="width:100%" /></td>

<td>

<input type="text" name="straw_sum" size="5"  value="0" readonly style="width:100%"/></td>

<td>

<input type="text" name="total_gum" cols="14" readonly></td>

</tr>

</tbody>

</table>

<table class="tstyle" border="1">

<thead>

<tr>

<th>

지점</th>

<th>

과일명</th>

<th>

갯수</th>

<th>

금액</th>

<th>

비고</th>

<th><input type="button" value="추가" id="addItem" /></th>

</tr>

</thead>

<tbody id="AddOption">

<script type="text/javascript">

var index = 0; //추가

$('#addItem').click(function(){

index = index+1; //추가

var contents = '';

contents += '<tr onMouseOver="dyntbl1.clickedRowIndex=this.rowIndex">';

contents +=     '<td><input type="text" class="Add_01" size="8" name="Add_01[]" /></td>';

contents +=     '<td><select id="Add_02_'+index+'" name="Add_02[]"><option value=""></option><option value="1">사과</option><option value="2">수박</option><option value="3">딸기</option></select></td>';

contents +=     '<td><input type="text" name="Add_04" class="Add_04[]" size="3"/></td>';

contents +=     '<td><input type="text" name="Add_05" class="Add_05[]"  size="6"  onkedown="inputNumberFormat(this)"/></td>';

contents +=     '<td><input type="text" name="Add_06" class="Add_06[]" size="8"/></td>';

contents +=     '<td><input type="button" name="delRow" class="delRow" value=" X " /></td>';

contents += '</tr>';

$('#AddOption').append(contents); // 추가기능

$('.delRow').click(function(){ // 삭제기능

$(this).parent().parent().remove(); 

});

$('.Add_05, .Add_06').keyup(function(){          

$(this).val( $(this).val().replace(/[^0-9]/gi,"") ); //숫자만 입력가능

});

$("input[name=Add_05]").change( function() {

fn_setSum();

});

$("input[name=Add_04]").change( function() {

fn_setSum();

});

$("#Add_03_"+index).change(function(){

fn_setSum();

});

$("#Add_02_"+index).change(function(){

fn_setSum();

});

});

</script>

</tbody>

</table>

<script type="text/javascript">

function fn_setSum(){

$("input[name=apple]").val("0") ;

$("input[name=apple_sum]").val("0") ;

$("input[name=water]").val("0") ; 

$("input[name=water_sum]").val("0") ; 

$("input[name=straw]").val("0") ; 

$("input[name=straw_sum]").val("0") ; 

$("input[name=total_gum]").val("0") ;

 

$("select[name='Add_02[]']").each(function(i) {

var price3 = $("input[name='Add_05']:eq(" + i + ")").val() ;

var price4 = $("input[name='Add_04']:eq(" + i + ")").val() ;

if($(this).val() == "1"){

price3 = Number(price3) + Number($("input[name=apple_sum]").val()); 

$("input[name=apple_sum").val(price3) ;

price4 = Number(price4) + Number($("input[name=apple]").val()); 

$("input[name=apple]").val(price4) ;

} else if($(this).val() == "2" ){

price3 = Number(price3) + Number($("input[name=water_sum]").val()); 

$("input[name=water_sum]").val(price3) ;

price4 = Number(price4) + Number($("input[name=water]").val()); 

$("input[name=water]").val(price4) ;

} else {

price3 = Number(price3) + Number($("input[name=straw_sum]").val()); 

$("input[name=straw_sum]").val(price3) ;

price4 = Number(price4) + Number($("input[name=straw]").val()); 

$("input[name=straw]").val(price4) ;

}

su_total =  Number($("input[name=water]").val()) + Number($("input[name=straw]").val()) + Number($("input[name=apple]").val());

$("input[name=su_total]").val(su_total) ;

total_gum = Number($("input[name=water_sum]").val()) + Number($("input[name=straw_sum]").val()) + Number($("input[name=apple_sum]").val());

$("input[name=total_gum]").val(total_gum) ;

});

}

</script>

</html>

 다음글 rest api 쓸만한 라이브러리 추천 부탁드립니다 (2)
 이전글 RESTful로 타 사이트 연동시 질문드립니다. (2)

댓글

없음