본문 바로가기

Dev/Javascript&Jquery

AJAX 이용시 상위 엘리먼트 접근 방법

728x90
반응형

Jqeury Ajax 통신시 상위의 엘리먼트 접근을 해야 하는 경우가 있다.

 

$("#btn_save").on("click",function(){
	$(this).attr("disabled",true);
    $.ajax({
        url: '/admin/send/api/v1/proc.do',
        type: 'post',
        cache: false,
        data: formData,
        dataType: 'json',
        success: function (data) {
            alert(data.rtn_msg);
            },
        error: function (request, status, error) {                    	
            alert("code:" + request.status + "\n" + "message:" + request.responseText + "\n" + "error:" + error);	});
        }
    });
});

 

버튼을 다시 활성화 하려는 경우 Ajax 영역에서 this를 선언하게 되면 Ajax 안에서만의 this 의 값을 가지게 된다.

그래서 상위의 엘리먼트인 btn_sava를 접근하기 위해선 다음과 같이 선언하면 된다.

 

 

var target_element = $(this);

$("#btn_save").on("click",function(){
	var target_element = $(this);
	$(target_element).attr("disabled",true);
    
    $.ajax({
        url: '/admin/send/api/v1/proc.do',
        type: 'post',
        cache: false,
        data: formData,
        dataType: 'json',
        success: function (data) {
            alert(data.rtn_msg);
            $(target_element).attr("disabled",false);
        },
        error: function (request, status, error) {                    	
            alert("code:" + request.status + "\n" + "message:" + request.responseText + "\n" + "error:" + error);	});
        }
    });
});

target_element의 변수를 통해서 부모 엘리먼트를 접근할수 있게 된다.

728x90
반응형

'Dev > Javascript&Jquery' 카테고리의 다른 글

모바일 바코드 스캔  (0) 2022.05.10
구글맵- 마커사용하기  (0) 2020.07.31
IP를 통한 위치 좌표 코드 받기  (0) 2020.07.16
Javascript Cookie  (0) 2020.07.09