묻고답하기

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

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

 

다른 부분들은 전부 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 남기남
Konghee 위키 어떻게 사용하나요  
redviolet212 링크걸리는게 이상해서 그런데 꼭좀 부탁드려요.. [2] 2012.02.01 by 때린데 또때려
lisleader [질문] xe_menu_item 이상 데이타 생성으로 인한 서버 부하 폭증, 다운, 장애  
슈퍼보드맨 페이지추가후,자바스크립트 노출.  
kei309 가입한 회원 수정 불가  
whitemind XE관련은 아니지만 한글이 깨져서 나옵니다. [1] 2012.02.01 by 송동우
럭셜진 확장변수 다중선택 때문에 그러는데요... [1] 2012.02.01 by 송동우
IU 사이트맵질문 [1] file 2012.02.01 by 황비
운명같은사람 게시판 관리모드에서 스킨정보를 누르니까 [한번만 도와주세요] [5] 2012.02.01 by 황비
WSJ 첨부파일 박스 크기 [1] file 2012.02.01 by 송동우
M3 분류 관리에서 분류 항목 삭제가 안됩니다 [3] file 2012.02.01 by 송동우
leebackup 이런건 어떻게 만드는 거에여? [1] file 2012.02.01 by 도라미
leebackup 게시판 댓글쪽에 닉네임이 길어서 계단현상이 일어나네요 [1] 2012.02.01 by 송동우
ddddggfrfv 게시판 스킨 수정 중에 [2] 2012.02.01 by 송동우
곰은어흥 몇가지 질문이 있습니다. [1] 2012.02.01 by 송동우
bonafide ko.lang 파일에 출력문구를 수정하면 에러가 납니다. [1] 2012.02.01 by 송동우
ezisis 로그인시 메뉴가 사라지는 문제. [1] 2012.02.01 by 송동우
iMint 댓글에 넥네임 대신 이름이 표시되도록 하려면 어디를 수정해야하나요??? [1] 2012.02.01 by 황비
명불허전 레이아웃 수정 문제 질문합니다. [1] 2012.01.31 by 황비
마법의가을 카페 XE관련 질문 드립니다.  
재문아빠 게시판의 module_srl을 알고 싶은데요. [1] file 2012.01.31 by 황비
리남철 새로고침하면 창이 닫힙니다. [1] 2012.01.31 by 황비
자유신 황비님 강의글 본 후 어떤것들을 추가로 배우면 좋을까요// [1] 2012.01.31 by 황비
손주사랑 윈도우7에는 F 드라이브가없나요? [1] file 2012.01.31 by 황비
acsl 문제 3가지가 있습니다.ㅠ(파일첨부,게시판관리, 위젯사이트연결) [1] 2012.01.31 by 황비
오골계 설치후 첫 로그인에서 이메일 주소 자체가 없답니다. ;;;;[사진첨부] [2] file 2012.01.31 by 황비
낑깡호두 메인페이지 xe없애는 법 [1] file 2012.01.31 by 황비
redviolet212 헤더부분을 수정할려면 어디서..?  
mskiller XE 설치에서 "DB 선택" 화면에서 mssql 선택이 안되요 [1] 2012.01.31 by mskiller
달빛영혼 메타태그로 도메인접속시 바로 -> XE 접속되게 했을경우..