2016-11-06 7 views
0

중력 양식에 간단한 jquery 함수를 통합하는 방법이 있습니까?중력 양식 계산 jquery

필자는 3 개의 필드를 사용해야합니다.

숫자 필드 2 개와 총 필드 1 개는 총 숫자 필드를 기반으로 계산됩니다.

다음은 스크립트입니다. 제대로 작동하도록 만들었지 만 아약스는 없으며 전체 필드는 $ 가격이 아닌 숫자를 보여줍니다.

function calc_price() 
    { 
     var sr = parseInt($("#d_start_rating").val()); 
     if(!sr){ 
      sr = 0; 
      $("#d_start_rating").val(sr); 
     } 
     var er = parseInt($("#d_end_rating").val()); 
     if(!er){ 
      er = 0; 
      $("#d_end_rating").val(er); 
     } 

     if(er > 6000){er = 6000} 
     var points = 0; 

ranges = {"2500":0.09,"3000":0.11,"3500":0.15,"4000":0.21,"4500":0.27,"5000":0.35,"5500":0.45,"6000":0.8}; 
     //var ranges = {2500: 0.08, 3000: 0.11, 3500: 0.14, 4000: 0.20, 4500: 0.24, 5000: 0.30, 5500: 0.35, 6000: 0.6}; 
     for(var key in ranges){ 
      if(sr >= er){break;} 
      if(key > er){ 
       points += (er-sr)*ranges[key]; 
       sr = er; 
       break; 
      } 
      if(sr < key){ 
       points += (key - sr) * ranges[key]; 
       sr = key; 
      } 
     } 
     points = Math.ceil(points); 
     $(".a_points").html(points); 
    } 

    $(document).ready(function() { 
     $('#d_start_rating').change(function() { 
      calc_price(); 
     }); 
     $('#d_end_rating').change(function() { 
      calc_price(); 
     }); 

     calc_price(); 
    }); 

답변

0

당신은 gform_post_render JS 이벤트를 찾고 있습니다. 사용자 정의 기능을 문서 준비 이벤트가 아닌이 이벤트에 바인딩 할 수 있습니다.

<script type="text/javascript"> 

$(document).bind('gform_post_render', function(){ 

    $('#d_start_rating').change(function() { 
     calc_price(); 
    }); 

    $('#d_end_rating').change(function() { 
     calc_price(); 
    }); 

    calc_price(); 

}); 

</script> 
+0

응답 주셔서 감사합니다. David, 아쉽게 시도해보십시오. – Jim

+0

그래도 작동하지 않으면 다음 페이지로 이동하지 않거나 일부 필드를 사용하여 페이지를 새로 고치지 않으면 가격이 업데이트되지 않습니다. – Jim