테스트 사이트 - 개발 중인 베타 버전입니다

글수정 시에 셀렉트 박스 초기화 되고 있습니다. 도와 주십시오.

현이네 11년 전 조회 4,822

글쓰기와 게시판 검색이 되도록 하기 위해 주소관련 다중 셀렉트박스를 활용하고자,
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=22977" target="_blank">http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=22977
[방긋]님의 자료를 바탕으로 먼저 글쓰기에 적용하였습니다.
 
그런데 글을 쓰고 수정하려고 하면 선택하였던 셀렉트가 초기화 되어버리기에,
며칠을 검색하면서 혼자 해결 해 보려다 포기하고 고수님들의 도움을 청하고자 합니다.
 
글쓰기에 적용하고,
게시판 검색에도 적용할 계획인데,
검색은 고사하고 글쓰기 수정에 걸려 아무것도 못하고 있네요ㅠ,,ㅠ
 
팁,질문답변, 네이버, 구글로 며칠을 검색하였지만 제 실력으로는 적용조차 못하여 이렇게 도움을 청합니다.
글수정(또는 검색 버튼 누른 뒤에)할 때 셀렉트 초기화 되지 않는 방법좀 일러 주시길 부탁드립니다.
 
이것에 대한 팁으로,
자바스크립트로 해당 셀렉트태그 아래에
fwrite.wr_10.value = "<?=$write[wr_10]?>";
이렇게 또는,
document.getElementById("wr_10").value = "<?=$write['wr_10']?>";
이런 식으로 알려 주셨지만 " 도 "에는 적용 되는데, 시군과 해당 동에는 적용 되지 않네요.
 
아래  제가 적용한 사항을 적어 보겠습니다.
고수님들의 도움을 다시 간청해 봅니다(--)(__)
########################################################################
var sojaeji = function(sido, gugun, dong) {
 var obj = this;
 //window.onload = function() {
  obj.sido = document.getElementById(sido);
  obj.gugun = document.getElementById(gugun);
  obj.dong = document.getElementById(dong);
  obj.update_sido();
  obj.sido.onchange = function() {
   obj.update_gugun.apply(obj);
   obj.update_dong.apply(obj);
  }
  obj.gugun.onchange = function() {
   obj.update_dong.apply(obj);
  }
 //}
}
sojaeji.prototype = {
  update_dong : function() {
  if (this.dong == null) return;
  var dong = this[this.sido.value+"->"+this.gugun.value];
  this.dong.innerHTML = "";
  for(var i=0; i<dong.length; i++)
   this.dong.options.add(new Option(dong[i], dong[i]));
 },
 update_gugun : function() {
  if (this.gugun == null) return;
  var gugun = this[this.sido.value];
  this.gugun.innerHTML = "";
  for(var i=0; i<gugun.length; i++)
   this.gugun.options.add(new Option(gugun[i], gugun[i]));
 },
 update_sido : function() {
  if (this.sido == null) return;
  var sido = this['시도'];
  for(var i=0; i<sido.length; i++)
   this.sido.options.add(new Option(sido[i], sido[i]));
  this.update_gugun();
  this.update_dong();
 },
 '시도' : ['서울','부산','대구','인천','광주','대전','울산','강원','경기','경남','경북','전남','전북','제주','충남','충북'],
 '서울' : ['강남구','강동구','강북구','강서구','관악구','광진구','구로구','금천구','노원구','도봉구','동대문구','동작구','마포구','서대문구','서초구','성동구','성북구','송파구','양천구','영등포구','용산구','은평구','종로구','중구','중랑구'],
 '부산' : ['강서구','금정구','남구','동구','동래구','부산진구','북구','사상구','사하구','서구','수영구','연제구','영도구','중구','해운대구','기장군'],
 '대구' : ['남구','달서구','동구','북구','서구','수성구','중구','달성군'],
 .
 .
 .
 .
 #########################################################################
 
 
 
 이렇게 자바함수가 있고 그것을  write.skin.php에서
 .
 .
 .
 .
 <select name="wr_10" id="sido3"></select>
 <select name="wr_11" id="gugun3"></select>
 <select name="wr_12" id="dong3" ></select>
       
        <script type="text/javascript">
      <script type="text/javascript">
      new sojaeji('sido3', 'gugun3', 'dong3');//해당 함수 부른 것이고, 아래는 셀렉트 풀리지 말라고 삽입해 놓은 것입니다.ㅜ,,ㅠ
      fwrite.wr_10.value = "<?=$write[wr_10]?>";
      fwrite.wr_11.value = "<?=$write[wr_11]?>";
      fwrite.wr_12.value = "<?=$write[wr_12]?>";
      </script>
     
      또는,
      <script type="text/javascript">
      new sojaeji('sido3', 'gugun3', 'dong3');//이것도 함수고, 아래도 여기 저기 팁을 찾다가 적용해 본 것입니다.
      document.getElementById("wr_10").value = "<?=$write['wr_10']?>";
      document.getElementById("wr_11").value = "<?=$write['wr_11']?>";
      document.getElementById("wr_12").value = "<?=$write['wr_12']?>";
      </script>
이렇게 해 보았지만, 셀렉트 풀림을 막을 길이 없네요.
고수님들의 귀한 답변 부탁드립니다.
댓글을 작성하려면 로그인이 필요합니다.

답변 2개

7년 전

많은 도움이 되었습니다. 감사합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

11년 전
<div class="code-block-wrapper">
<button onclick="copyCodePrism(this)" class="copy-code-btn" style="position: absolute; top: 10px; right: 10px; z-index: 10; background: rgba(0,0,0,0.5); color: #fff; border: 1px solid rgba(255,255,255,0.3); padding: 6px 12px; border-radius: 4px; font-size: 12px; cursor: pointer; transition: all 0.2s; backdrop-filter: blur(10px);" onmouseover="this.style.background='rgba(0,0,0,0.7)'; this.style.transform='translateY(-1px)'" onmouseout="this.style.background='rgba(0,0,0,0.5)'; this.style.transform='translateY(0)'">
<svg style="width: 14px; height: 14px; display: inline-block; vertical-align: middle; margin-right: 4px;" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path>
</svg>
<span class="copy-text">Copy</span>
</button>
<pre class="language-php"><code class="language-php">document.getElementById(&quot;wr_10&quot;||&quot;wr_11&quot;||&quot;wr_12&quot;).value = &quot;&lt;?=$write[&#039;wr_10&#039;]?&gt;&quot;&quot;&lt;?=$write[&#039;wr_11&#039;]?&gt;&quot;&quot;&lt;?=$write[&#039;wr_12&#039;]?&gt;&quot;;</code></pre>
</div>
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인