묻고답하기

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

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

 

다른 부분들은 전부 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 남기남
jinclub0511 스킨적용시에  
박노열 /tools 점검하니 문제가 있습니다./ 도와주세요 (재) [3] 2008.11.08 by 박노열
조훈227 팝업작업했는데...창에 주소칸이 같이 떠요? [1] file 2008.11.08 by 부안프로그래밍
이은상 로그인 아이디를 가져오고 싶은데요  
공기정화 기본게시판 블로그 스킨을 수정한다!???? [2] 2008.11.08 by 공기정화
당근소녀 게시판 리스트 밑에 댓글 쓰는 부분에 대한 질문 [3] file 2008.11.08 by 다 영
jinclub0511 관리자 페이지에 들어가면 [1] 2008.11.08 by 탑심
박노열 게시판 부가기능 / 신고에 대한 질문 [3] 2008.11.08 by ddddffdfd
닥터귀염 제로보드xe와 도메인 연결 전문가분들은 어떻게 연결하시나요? [1] 2008.11.08 by nini
느까끼 ActiveX를 설치하라는데 [1] 2008.11.08 by Gnee
미로 게시판을 두개의 홈페이지에서 같이 쓸려 하는데  
kanasii 접속시 마다 변경 되는 롤링?? 베너 질문입니다. [2] 2008.11.08 by kanasii
김철한407 설치하려는데 어세스가 안된다고 나옵니다. [1] file 2008.11.08 by 백성찬
정환균 혹시, 단체쪽지는 보낼 수 없을까요? [2] 2008.11.08 by 정환균
taegoni 사진을 클릭하면 팝업이 안됩니다 [2] 2008.11.08 by taegoni
♡aebon♡ 탭 형태 최근 문서 출력 - 페이지가 오류로 나오면서 적용하지 못하고 있어요. [1] 2008.11.08 by ♡aebon♡
파란미소 xe를 삭제하고 재설치 하였습니다.도움바랍니다. [4] 2008.11.08 by 김파니
정다진842 DB 비밀번호 변경 신청을 해두고 나서 모듈을 찾을 수 없습니다.. [1] 2008.11.08 by 백성찬
팔뚜기 레이아웃을 제작하고싶은데요.  
최장혁503 제로보드 xe 1.0.6 버전을 [2] 2008.11.08 by 최장혁503