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

지역선택시 질문입니다. 채택완료

망이망소이 7년 전 조회 2,022

</p>

<p><script type="text/javascript">

$('document').ready(function() {

 var area0 = ["시/도 선택","서울특별시","인천광역시","대전광역시","광주광역시","대구광역시","울산광역시","부산광역시","경기도","강원도","충청북도","충청남도","전라북도","전라남도","경상북도","경상남도","제주도"];

  var area1 = ["강남구","강동구","강북구","강서구","관악구","광진구","구로구","금천구","노원구","도봉구","동대문구","동작구","마포구","서대문구","서초구","성동구","성북구","송파구","양천구","영등포구","용산구","은평구","종로구","중구","중랑구"];

   var area2 = ["계양구","남구","남동구","동구","부평구","서구","연수구","중구","강화군","옹진군"];

   var area3 = ["대덕구","동구","서구","유성구","중구"];

   var area4 = ["광산구","남구","동구",     "북구","서구"];

   var area5 = ["남구","달서구","동구","북구","서구","수성구","중구","달성군"];

   var area6 = ["남구","동구","북구","중구","울주군"];

   var area7 = ["강서구","금정구","남구","동구","동래구","부산진구","북구","사상구","사하구","서구","수영구","연제구","영도구","중구","해운대구","기장군"];

   var area8 = ["고양시","과천시","광명시","광주시","구리시","군포시","김포시","남양주시","동두천시","부천시","성남시","수원시","시흥시","안산시","안성시","안양시","양주시","오산시","용인시","의왕시","의정부시","이천시","파주시","평택시","포천시","하남시","화성시","가평군","양평군","여주군","연천군"];

   var area9 = ["강릉시","동해시","삼척시","속초시","원주시","춘천시","태백시","고성군","양구군","양양군","영월군","인제군","정선군","철원군","평창군","홍천군","화천군","횡성군"];

   var area10 = ["제천시","청주시","충주시","괴산군","단양군","보은군","영동군","옥천군","음성군","증평군","진천군","청원군"];

   var area11 = ["계룡시","공주시","논산시","보령시","서산시","아산시","천안시","금산군","당진군","부여군","서천군","연기군","예산군","청양군","태안군","홍성군"];

   var area12 = ["군산시","김제시","남원시","익산시","전주시","정읍시","고창군","무주군","부안군","순창군","완주군","임실군","장수군","진안군"];

   var area13 = ["광양시","나주시","목포시","순천시","여수시","강진군","고흥군","곡성군","구례군","담양군","무안군","보성군","신안군","영광군","영암군","완도군","장성군","장흥군","진도군","함평군","해남군","화순군"];

   var area14 = ["경산시","경주시","구미시","김천시","문경시","상주시","안동시","영주시","영천시","포항시","고령군","군위군","봉화군","성주군","영덕군","영양군","예천군","울릉군","울진군","의성군","청도군","청송군","칠곡군"];

   var area15 = ["거제시","김해시","마산시","밀양시","사천시","양산시","진주시","진해시","창원시","통영시","거창군","고성군","남해군","산청군","의령군","창녕군","하동군","함안군","함양군","합천군"];

   var area16 = ["서귀포시","제주시","남제주군","북제주군"];</p>

<p> </p>

<p> // 시/도 선택 박스 초기화</p>

<p> $("select[name^=wr_23]").each(function() {

  $selsido = $(this);

  $.each(eval(area0), function() {

   $selsido.append("<option value='"+this+"'>"+this+"</option>");

  });

  $selsido.next().append("<option value=''>구/군 선택</option>");

 });</p>

<p> </p>

<p> // 시/도 선택시 구/군 설정</p>

<p> $("select[name^=wr_23]").change(function() {

  var area = "area"+$("option",$(this)).index($("option:selected",$(this))); // 선택지역의 구군 Array

  var $gugun = $(this).next(); // 선택영역 군구 객체

  $("option",$gugun).remove(); // 구군 초기화</p>

<p>  if(area == "area0")

   $gugun.append("<option value=''>구/군 선택</option>");

  else {

   $.each(eval(area), function() {

    $gugun.append("<option value='"+this+"'>"+this+"</option>");

   });

  }

 });</p>

<p>

});

</script></p>

<p> </p>

<p>
</p>

<p><select name="wr_23" value='<?=$write['wr_23']?>' id="sido1"></select>

<select name="wr_24" value='<?=$write['wr_24']?>' id="gugun1"></select></p>

<p>

 

구글링해서 찾은소스로 이렇게 여분필드 wr_23과 wr_24에 저장하고 있습니다. 잘 저장됩니다.

근데 수정시에 보면 선택한 값을 못불러오는데 이유가 뭘까요?

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

답변 2개

채택된 답변
+20 포인트
Policia
7년 전

아래에 스크립트를 추가해주세요 불러온값에 맞는 옵션값을 선택하는 스크립트입니다

</p>

<p> </p>

<p><select name="wr_23" id="sido1"></select></p>

<p><select name="wr_24" id="gugun1"></select></p>

<p> </p>

<p><strong><script></strong></p>

<p><strong>$('#sido1').val('<?=$write['wr_23']?>').prop('selected',true);</strong></p>

<p><strong>$('#gugun1').val('<?=$write['wr_24']?>').prop('selected',true);</strong></p>

<p><strong></script></strong></p>

<p><span style="font-size:0.9em">

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

답변에 대한 댓글 3개

망이망소이
7년 전
앗 감사합니다. 근데 제가 뭘 잘못했을까요? 분명히되야 하는데... 안되네요 ㅜ..ㅜ
P
Policia
7년 전
// 시/도 선택 박스 초기화
$("select[name^=wr_23]").each(function() {
$selsido = $(this);
$.each(eval(area0), function() {
$selsido.append("<option value='"+this+"'>"+this+"</option>");
});
$selsido.next().append("<option value=''>구/군 선택</option>");
$('#sido1').val('<?=$write['wr_23']?>').prop('selected',true);
});

// 시/도 선택시 구/군 설정
$("select[name^=wr_23]").change(function() {
var area = "area"+$("option",$(this)).index($("option:selected",$(this))); // 선택지역의 구군 Array
var $gugun = $(this).next(); // 선택영역 군구 객체
$("option",$gugun).remove(); // 구군 초기화
if(area == "area0")
$gugun.append("<option value=''>구/군 선택</option>");
else {
$.each(eval(area), function() {
$gugun.append("<option value='"+this+"'>"+this+"</option>");
});
$('#gugun1').val('<?=$write['wr_24']?>').prop('selected',true);
}
});

이렇게 한번해보세요

당연히 $wirte를 불러온다는전재하에는 되야하는뎀..
망이망소이
7년 전
알려주신대로 적용 해보니
수정시 화면을 열면
wr_23은 불러오는데 wr_24는 못불러옵니다.
wr_23 셀렉트를 다른걸로 변경했다가 다시 원래값으로 변경하면
wr_24도 그제서야 불러와집니다. ㅎ

다시 체크해보곘습니다.

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

7년 전

셀렉트는 벨류를 그렇게 지정하시는게 아니라 옵션에 selected 라는 옵션을 주시면 됩니다.

그리고 수정시 다해당값을들 불러오게 해서 셀렉트를 만드시고 선택하게 만드시면 됩니다.

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

답변에 대한 댓글 1개

망이망소이
7년 전
답변 감사드립니다.
그럼 전부다 작성해줘야 하나요?^^

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

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

로그인