묻고답하기

어떻게 하다 보니 방명록을 개조한 신청서가 완성이 되어져 가고 있습니다.

이제 마지막 관문에 도달하였는데요,

 

다른 부분들은 전부 board 모듈의 확장변수를 통해 등록했지만,

 

한부분은 연동 셀렉트 박스가 필요하여,

 

자바스크립트를 통해 선택 가능하게 만들었습니다.

 

소스는 아래와 같습니다.

 

게시판관리에 게시판정보에

 

상단내용에 입력할 내용

 

============================================================================================

 

<script type="text/javascript">
 var selectB1 = [{"text":"스팀살균 손세차 - 15,000원","value":"A"},{"text":"실내클리닝 + 스팀살균 외부세차 - 90,000원","value":"B"},{"text":"특수코팅 - 90,000원","value":"C"},{"text":"실내클리닝+특수코팅 - 170,000","value":"D"},{"text":"월세차 - 50,000원","value":"D"}];
 var selectB2 = [{"text":"스팀살균 손세차 - 20,000원","value":"A"},{"text":"실내클리닝 + 스팀살균 외부세차 - 110,000원","value":"B"},{"text":"특수코팅 - 110,000원","value":"C"},{"text":"실내클리닝+특수코팅 - 200,000","value":"D"},{"text":"월세차 - 70,000원","value":"D"}];
 var selectB3 = [{"text":"스팀살균 손세차 - 25,000원","value":"A"},{"text":"실내클리닝 + 스팀살균 외부세차 - 130,000원","value":"B"},{"text":"특수코팅 - 130,000원","value":"C"},{"text":"실내클리닝+특수코팅 - 220,000","value":"D"},{"text":"월세차 - 90,000원","value":"D"}];
 var selectB4 = [{"text":"스팀살균 손세차 - 27,000원","value":"A"},{"text":"실내클리닝 + 스팀살균 외부세차 - 140,000원","value":"B"},{"text":"특수코팅 - 140,000원","value":"C"},{"text":"실내클리닝+특수코팅 - 250,000","value":"D"},{"text":"월세차 - 100,000원","value":"D"}];
var selectB5 = [{"text":"스팀살균 손세차 - 30,000원","value":"A"},{"text":"실내클리닝 + 스팀살균 외부세차 - 150,000원","value":"B"},{"text":"특수코팅 - 150,000원","value":"C"},{"text":"실내클리닝+특수코팅 - 270,000","value":"D"},{"text":"월세차 - 110,000원","value":"D"}];
var selectB6 = [{"text":"스팀살균 손세차 - 35,000원","value":"A"},{"text":"실내클리닝 + 스팀살균 외부세차 - 190,000원","value":"B"},{"text":"특수코팅 - 220,000원","value":"C"},{"text":"실내클리닝+특수코팅 - 330,000","value":"D"},{"text":"월세차 - 130,000원","value":"D"}];
var selectB7 = [{"text":"스팀살균 손세차 - 25,000원","value":"A"},{"text":"실내클리닝 + 스팀살균 외부세차 - 150,000원","value":"B"},{"text":"특수코팅 - 150,000원","value":"C"},{"text":"실내클리닝+특수코팅 - 270,000","value":"D"},{"text":"월세차 - 90,000원","value":"D"}];
var selectB8 = [{"text":"스팀살균 손세차 - 30,000원","value":"A"},{"text":"실내클리닝 + 스팀살균 외부세차 - 170,000원","value":"B"},{"text":"특수코팅 - 170,000원","value":"C"},{"text":"실내클리닝+특수코팅 - 300,000","value":"D"},{"text":"월세차 - 110,000원","value":"D"}];
var selectB9 = [{"text":"스팀살균 손세차 - 35,000원","value":"A"},{"text":"실내클리닝 + 스팀살균 외부세차 - 190,000원","value":"B"},{"text":"특수코팅 - 190,000원","value":"C"},{"text":"실내클리닝+특수코팅 - 330,000","value":"D"},{"text":"월세차 - 130,000원","value":"D"}];
var selectB10 = [{"text":"스팀살균 손세차 - 40,000원","value":"A"},{"text":"실내클리닝 + 스팀살균 외부세차 - 210,000원","value":"B"},{"text":"특수코팅 - 210,000원","value":"C"},{"text":"실내클리닝+특수코팅 - 350,000","value":"D"},{"text":"월세차 - 150,000원","value":"D"}];
 

 function ChangeSelectB(selectA)
 {
  var value = selectA.value;
  var selectBArray = eval("selectB"+value);

 

// selectB 셀렉트 박스에 들어갈 변수를 가져올 수 있다.

// eval 은 변수이름으로 객체를 가져오는 용도로 사용.

  try
  {


   // DOM 방식을 사용하여 selectB 셀렉트 박스 객체를 얻어온다.

   // id를 사용해 가져오기 위해서 getElementById 메소드를 사용
   var oSelectB = document.getElementById("selectB");


   //selectB 셀렉트 박스의 하위 엘리멘트를 삭제한다.
   while(0 < oSelectB.childNodes.length)
   {
    oSelectB.removeChild(oSelectB.firstChild);
   }

   var option = null;
   // 새로운 option을 selectB 셀렉트 박스에 추가해 준다.
   for (var index=0; index < selectBArray.length ;index++ )
   {
    option = document.createElement("option");
    option.value = selectBArray[index].value;
    // TextNode를 생성하여 option 객체의 하위 객체로 추가해 준다.
    option.appendChild(document.createTextNode(selectBArray[index].text));
    //  selectB 셀렉트 박스에 option 객체를 추가한다.
    oSelectB.appendChild(option);
   }
  }
  catch (e)
  {
   alert(e.description);
  }
 }
</script>

 

 

=======================================================================

 

출력할 부분에 입력 내용.

 

<select name="selectA" id="selectA" onchange="ChangeSelectB(this);" >
 <option value="1" selected = "selected">경차</option>
 <option value="2">소형차</option>
 <option value="3">중형차</option>
 <option value="4">중대형차</option>
 <option value="5">대형차,SUV</option>
 <option value="6">승합차(7인승)</option>
 <option value="7">소형수입차</option>
 <option value="8">중형수입차</option>
 <option value="9">대형수입차,SUV</option>
 <option value="10">수입승합차</option>
 
</select>
<select name="selectB" id="selectB" style="rtl">
 <option value="A">스팀살균 손세차 - 15,000원</option>
 <option value="B">실내 크리닝+스팀살균 외부세차- 90,000원</option>
 <option value="C">특수코팅 - 90,000원</option>
 <option value="D">실내크리닝+ 특수코팅 - 170,000원</option>
 <option value="E">월세차 - 50,000원</option>
</select>

 

 

 

 

 

 

위 소스가 작동은 잘 합니다.

 

다만... 제가 너무 초초보라서 selectB에서 받은 값을 제 DB에 저장을 해야되는데.... 할 줄을 모르겠습니다.

 

아무것도 모르는 초초보적 생각으로 구상해본 연동방법은 다음과 같습니다.

 

확장변수C를 만든다.

 

글 쓰기할때는 확장변수C 부분을 숨켜 보이지 않게 한다.

 

글 등록 할때 selectB 에서 받은 값을 확장변수C에 대입하여 저장한다.

 

글 볼때엔 확장변수C를 정상적으로 보여지게 한다.

 

 

저렇게 할 수 있을까요?

 

할 수 있다면 어떻게 해야될까요?

 

만약 안된다면 어떠한 방식으로 선택된 selectB의 값을 DB에 저장할 수 있을까요??

 

너무 초보라서 이상한 질문만 잔득 드리는것 같아 죄송합니다,

 

열심히 공부는 하고 있는데 워낙 이분야에 무지한지라. .ㅠㅠ

글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
Initializer 여쭤볼게 있는데요, 회원 정보 공개 관련입니다. [2] file 2013.09.05 by skullacy
hwhjdad xe core 1.5는 어디서 다운 받는지요? [2] 2013.09.05 by 컴퓨터매니아
Alex xe 1.5 와 php버젼  
Arisae mysqli Skecthbook5 게시판 오류 좀 봐주십시오. [1] 2013.09.04 by Arisae
nike077 매타태그는 어디에 넣어줘야 하나요? [2] 2013.09.04 by pentopen
한국12 메일링 문의 file  
nike077 XE 는 rss 등록 못하나요? [1] 2013.09.04 by skullacy
두치와뿌꾸 포인트 복권을 새창이 아닌 팝업창으로 띄우게 하고싶습니다 도와주세요  
구름나무바위 특정 회원만 게시물, 댓글 삭제 못하게 하는 방법 있을까요? [1] 2013.09.04 by sejin7940
아싸리방가 게시판 프로필사진 크기 줄이는법좀 알려주세요 [1] 2013.09.04 by sejin7940
3다수 목록보기권한을 관리자로 놓으면 내용보기가 모든사용자여도 권한없음이 맞나요? [1] 2013.09.04 by sejin7940
낭만구미호 [일정] 확장변수에 시분초 추가하기 file  
수일이니 1.7헤더 부분을 크게 하고 싶은데 방법쯤 알려주세요. [1] file 2013.09.04 by 킴똥똥
GT네오 sketchbook5 유투브 갤러리 게시판 스킨에서 썸네일 생성이 안되네요. [1] file 2013.09.04 by 현스가이
한국12 메일링가입 file  
ytchoi ssl보안서버 경고창 [1] file 2013.09.04 by 컴퓨터매니아
nike077 XE 신디케이션 하는 방법좀 알려주세요! [1] 2013.09.04 by 컴퓨터매니아
오락실주인 로그인 풀림 도와주세염 [1] 2013.09.04 by 류중근
하늘소망0191 1.7.4.3 버전 게시판 확장변수를 어떻게 생성하나요?? [1] 2013.09.04 by 오르막
@재키 페이지&위젯에 캐시시간 설정순서? [1] 2013.09.04 by 컴퓨터매니아