여분필드를 한번에 불러오는 방법
게시판 예시로
옵션 선택창1 - 옵션 선택창 2
이렇게 2개의 선택창이 있습니다.
옵션 선택창 1 에는 회원에 등록되어있는 모든 mb_1를 불러오도록 하고싶고
옵션 선택창 2에는 옵션1에서 선택한 항목에 따라 mb_2를 불러오게 하고싶습니다.
예시로
회원1 mb_1= 사과 mb_2=나무
회원2 mb_1= 사과 mb_2=꽃
회원3 mb_1= 오렌지 mb_2=돌
이런식으로 되어있으면
옵션선택창1
사과
오렌지
여기서 사과를 선택하면
옵션선택창2
나무
꽃
옵션선택창1 에서 오렌지를 선택하면
옵션선택창2
돌
이렇게 출력되도록 하고싶은데 방법 없을까요?
답변 2개
옵션1에서 선택한 값에 따라 옵션2의 값이 변경되어야하는 부분인걸로 생각됩니다.
마치 예전에 주소록 보시면 구를 선택하면 동을 선택하듯이 말이죠..
이런경우 javascript ajax 를 활용하여 적용하시면될꺼 같습니다.
아래 예제 코드를 한번 안내드리오니 참고 하셔서 응용적용을 해보시길 바라겠습니다.
// 옵션 선택 예시
옵션 선택 예시
옵션 선택창 1:
선택하세요
옵션 선택창 2:
옵션1을 먼저 선택하세요
$(document).ready(function() {
// 페이지 로드 시 옵션1 데이터를 불러오기
$.ajax({
url: 'get_options.php',
type: 'GET',
dataType: 'json',
success: function(data) {
const option1 = $('#option1');
data.option1.forEach(function(item) {
option1.append(new Option(item, item));
});
}
});
// 옵션1 선택 변경 시 옵션2 데이터 불러오기
$('#option1').change(function() {
const selectedOption1 = $(this).val();
$.ajax({
url: 'get_options.php',
type: 'GET',
dataType: 'json',
data: { option1: selectedOption1 },
success: function(data) {
const option2 = $('#option2');
option2.empty();
if (data.option2.length > 0) {
data.option2.forEach(function(item) {
option2.append(new Option(item, item));
});
} else {
option2.append(new Option('해당 옵션에 대한 결과가 없습니다', ''));
}
}
});
});
});
// PHP 쪽 파일 부분
위에 소스코드는 참고용이오니...이부분을 참고 하셔서 적용하시면 도움이 되실겁니다.
해보시다 안되시면 쪽지주시면 도움드리겠습니다.
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인