그누보드 여분필드 실시간 합계요...ㅠㅠㅠ(php 내부의 jquery)

그누보드 여분필드 실시간 합계요...ㅠㅠㅠ(php 내부의 jquery)

QA

그누보드 여분필드 실시간 합계요...ㅠㅠㅠ(php 내부의 jquery)

본문

여분필드에 이름하고 값을 넣으면 php로 체크박스를 자동 생성해주는 만두야님의 스킨을 고쳤습니다.

(해당 스킨 : https://sir.kr/g5_skin/8608 )

 

상품 이름하고 값이 필요한 터라, 여분필드 값에 넣은 배열을 상품이름|값|상품이름|값... 을 배열로 넘겨서 해결했습니다.

 

상품 갯수도 많고, 자주 바뀌어서 그누보드 여분필드로 해결할 수 있는 건 배열밖에 없더라고요..

 

상품 선택했을 때 그 갯수는 해당 필드에서 +10한 필드를 추가로 만들어서(예: wr_1 필드의 각각 상품 구매 개수 -> wr_11에 배열로 저장) 저장하는 것까진 처리했습니다.

상품 각각은 input checkbox로 만들고, 개수는 number로 했습니다.

 

이제 실시간 합계를 구할 필드를 만들고 싶은데ㅠㅠ 제이쿼리 까막눈이다보니 도저히 해결법이 보이지 않아서 며칠 끙끙대다 질문글 올립니다.

 

여기에서 어떻게 해결해야 답이 나올까요? 제가 너무 복잡하게 생각하는 건 아닌지요..ㅠㅠ

 


 
// 총합산
// write.skin.php에선 <?=Calc?> 이렇게 출력한다.

function Calc() {
 
//board write write_table 변수 가져오기
    GLOBAL $board, $write, $write_table;
 
// 열개의 기본 여분필드의 상품이름, 값 array로 구함. calc에서 쓰는 건 fieldPrice 
 for ($i=0 ; $i < 11 ; $i++) {
${"field".$i} = @explode("|",$board["bo_".$i]);
${"fieldValue".$i} = array();
${"fieldPrice".$i} = array();
foreach (${"field".$i} as $k => $v) {
    if ($k % 2 == 0) {
        ${"fieldValue".$i}[] = $v;
    }
     if ($k % 2 == 1) {
        ${"fieldPrice".$i}[] = $v;
    }
}
 }
 
//실시간 합계 시작
 
    $sum .="
<script>
 
//calc 클래스 가진 checkbox 변수로 선택 (상품 선택)
    var childrens = $('div.calc').children(input[type='checkbox']);
 
            // checkbox 체인지되면 이 펑션 실행
        childrens.on('propertychange change keyup paste input', function(){
        
        // input number에서 가장 가까운 checkbox가 체크되었을 때 (상품 선택시) 실행
                if ($('input[type=number]').closest('input:checkbox[name*='wr_']').is(':checked') == true;) {
                    
        // input number 값(상품 개수)이 변경되면 펑션 실행
                $('input[type=number]').bind('propertychange change keyup paste input', function() {
 
// 전체 합계를 돌려주는 sum 변수 선언
    var sum = 0;
 
// input number 각각에 해당 함수 실행
    $('input[type=number]').each(function() {

    // 여기에 뭔가를 넣어서 해결해보고 싶은데,
   //  for문으로 넣자니 input의 value는 구하겠는데
   // PHP에서 해당 fieldPrice의 변수를 어떻게 구해야할지 모르겠습니다...ㅠㅠㅠ

    });
    });
    }
    });
</script>
<input type='text' name='calcAll' value='<?php echo $write['calcAll'] ?>' id='calcAll'>
 
// 새로 생성한 calcAll 여분필드로 값 출력, 저장
 
";
    return $sum;
}

 

어떤 방법이 있을까요...?

이 질문에 댓글 쓰기 :

답변 1

<input type="text" class="aaaa" vlaue="">
<input type="text" class="aaaa" vlaue="">

<input type="text" class="aaaa" vlaue="">

<input type="text" class="aaaa" vlaue="">

<input type="text" class="aaaa" vlaue="">

 

<script>

       var sum=0

        $('.aaaa').each(

          function(){

             sum=sum+$(this).val(); //브레이크 포인트 걸어서 한번 살펴보세요 

          }

       );

       alert(sum);

</script>

number 타잎 전페를 검색하면 나중에 다른 넘버 터잎까지들어갑니다 
가상의 클라스를 넣어서 처리하는게 좋을듯하네요 

 

이 방법으로 문제점 찾다가 결국 해결했습니다!! 감사합니다ㅎㅎㅎ
저는 따로 input readonly display:hidden을 만들어서 value 값을 임시로 넣어주고, 그걸 마지막에 전부 더하는 쪽으로 해결했습니다ㅎㅎㅎ

답변을 작성하시기 전에 로그인 해주세요.
전체 766
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT