개발 Q&A

제목 자바스크립트와 제이쿼리 결합 글로벌 함수 가능 한가요 ?
글쓴이 람이 작성시각 2014/12/24 16:54:33
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 12077   RSS
function calculate_order_price()
{
    var sell_price = parseInt($("input[name=od_price]").val());
    var send_cost = parseInt($("input[name=od_send_cost]").val());
    var send_cost2 = parseInt($("input[name=od_send_cost2]").val());
    var send_coupon = parseInt($("input[name=od_send_coupon]").val());
    var tot_price = sell_price + send_cost + send_cost2 - send_coupon;

	/* 포인트 입력시 합계를 계산하여 출력 여부를 다시 표시 함. */
	$("#od_temp_point").keyup(function() {
		var point = $(this).val();
		tot_price = sell_price - point;
		$("#od_tot_price").text(number_format(String(tot_price)));
		$("input[name=org_od_price]").val(tot_price);
	});

    $("input[name=good_mny]").val(tot_price);
    $("#od_tot_price").text(number_format(String(tot_price)));
    <?php if($temp_point > 0 && $is_member) { ?>
    calculate_temp_point();
    <?php } ?>

	/* 쿠폰 적용 후 총합계를 토대로한 사은품 표시 */
	if(tot_price < 50000 && tot_price >= 30000) {
문제가 되는 부분은 바로
$("#od_temp_point").keyup(function() { 이 부분 입니다.

1. 위 부분이 포인트를 입력하는 부분인데 포인트를 입력하기전에 먼저 위에 계산식
tot_price = sell_price + send_cost + send_cost2 - send_coupon; 를 거쳤는지 판단하여 거치지 않았다면 먼저 하라고 경고창 알리고
거친 경우라면 해당 포인트를 입력 받아서 처리를 한 후
tot_price 값을 
/* 쿠폰 적용 후 총합계를 토대로한 사은품 표시 */
	if(tot_price < 50000 && tot_price >= 30000) {

이 부분에 대입할 수 있으면 됩니다.

2. 혹시 자바스크립트 함수에서 제이쿼리의 변수를 어떻게 전달 받는지 아시나요 ?
 다음글 [해결]데이터베이스 구조설계에 대한 질문 (6)
 이전글 [해결]DB 게시판 테이블 구조 질문 (5)

댓글

kaido / 2014/12/24 17:14:19 / 추천 0
//가장 쉬운 방법은..

<input type="hidden" id="tot_price" value=0 />

<script>
//....keyup ... 생략
tot_price = sell_price + ..... ;

$("#tot_price").val(tot_price) ;

//....keyup 닫음...

var script_tot_price = $("#tot_price").val();

/*
히든 폼에 값을 담고나서 함수 밖에서 해당 폼을 가져오면 간단합니다.
글로벌 설정을 해도 상관없습니다. jquery의 기능들 전부 일반 스크립트로도 구현 되며, 호환 됩니다.
*/
람이 / 2014/12/24 17:42:42 / 추천 0
kaido 님 답변 감사합니다.
문제는 포인트가 입력되면 전체 합계란에 표시될 금액을 기준으로

아래에 보시면 if문으로 사은품을 보여주고 숨기고 하게 되어 있습니다.

이 부분을 포인트 입력 전 단계까지는 쿠폰으로 잘 처리가 되고 있는데...

포인트 부분을 입력할때 합계금액의 변화를 기준으로 사은품 처리를 하려니 안되서 문의 올렸습니다.

역시 힘든 문제인가 봅니다. ㅠ.ㅜ
 
kaido / 2014/12/24 17:52:01 / 추천 0
미리 계산된 값을 숨겨놨다가 가져 온다거나

사전 처리가 필요한 조건을 충족 시켰는지 체크를 하거나..

충분히 해결 가능 하실거라 판단합니다.

화이팅 ^^