-
SELECT 박스에서 선택한 값 데이터 요청 전송샤자의 개발일지/JavaScript, jQuery 2025. 4. 1. 14:24728x90
먼저 셀렉트박스에서 선택한 값을 서버로 보내서 전화번호를 가져오는 코드를 작성했다.
셀렉트박스가 변경될 때 이벤트가 발생되고
선택한 센터아이디와 체크박스에 체크된 지역코드를 서버로 보내서
실행된 값을 json 타입으로 받아와서 값이 0이 아닐경우 가져온 값을 phone에 넣어서
화면에 보여주는 방식이다.
소스코드
$(document).ready(function () {
// 셀렉트박스 값 변경 이벤트
$("#sel_centerId").change(function () {
var selectedCenterId = $(this).val(); // 선택된 센터 ID 가져오기
if (selectedCenterId === "") {
// 선택된 값이 없을 경우, 전화번호 필드 초기화
$("#phone").val("");
} else {
// AJAX 호출로 전화번호 정보 가져오기
$.ajax({
url: "/com/ajax/geSidoCenterInfo.do", // 서버 요청 URL
type: "GET",
data: {"sido":$("input[name=region]:checked").val(), // 선택된 지역을 서버에 전달
"center_id":$("#sel_centerId").val()}, // 선택된 센터 ID를 서버에 전달
dataType: "json", // 서버에서 반환받을 데이터 타입 (JSON)
success: function (data) {
console.log(data[0].PHONE); //응답 데이터를 콘솔에 출력
if (data[0] && data[0].PHONE !== 0) {
var phoneValue = data[0].PHONE;
// 서버에서 반환된 전화번호를 입력 필드에 설정
$("#phone").val(phoneValue);
} else {
// 데이터가 없을 경우 초기화
$("#phone").val("전화번호 없음");
}
},
error: function () {
alert("전화번호 정보를 가져오는 중 오류가 발생했습니다.");
},
});
}
});
});화면에 뿌려주는 인풋박스 위처럼 인풋박스에서 보여준다.
서버에서 데이터가 잘 넘어오는지 체크하기 위해서
// centerInfo 리스트 내의 각 항목에서 phone 값을 확인 for (HashMap<Object, Object> item : centerInfo) { System.out.println("Phone: " + item.get("phone")); }
for문을 사용해서 컨트롤러에서 전화번호를 콘솔에 뿌린다.
지역을선택할 때 해당지역의 모든구의 전화번호가 나온다.
그리고 구를 선택하면 해당구의 전화번호를 콘솔에 띄운다.
이렇게하면 정상적으로 화면에서 연락처가 나온다.
728x90'샤자의 개발일지 > JavaScript, jQuery' 카테고리의 다른 글
클릭 이벤트 새 창으로 열리게 변경 (0) 2025.04.22 JSP에서 특정 값이 없을 때는 0을 출력하고, 값이 있을 때는 그 값을 출력하는 조건식 (0) 2025.04.04 JSP에서 다른 화면으로 링크를 통해 이동하면서 데이터를 넘겨받기 (0) 2025.04.03 개발일지 (0) 2022.12.03