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

"선택하세요"를 추가하고 싶습니다.

· 11년 전 · 1769 · 5
아래는 js 파일 입니다. "선택하세요"가 처음에 나오지 않고 "서울"이 먼저 나와서
항상 write부분에서 반드시 선택을 해야하는데, 선택을 하지 않고 싶을 때는 어떻게 해야하나요?

감사합니다.


+++++ js 파일++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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_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_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_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();
},
'시도' : ['서울','부산','대구','인천','광주','대전','울산','강원','경기','경남','경북','전남','전북','제주','충남','충북'],
'서울' : ['강남구','강동구','강북구','강서구','관악구','광진구','구로구','금천구','노원구','도봉구','동대문구','동작구','마포구','서대문구','서초구','성동구','성북구','송파구','양천구','영등포구','용산구','은평구','종로구','중구','중랑구'],
'부산' : ['강서구','금정구','남구','동구','동래구','부산진구','북구','사상구','사하구','서구','수영구','연제구','영도구','중구','해운대구','기장군'],
'대구' : ['남구','달서구','동구','북구','서구','수성구','중구','달성군'],
'인천' : ['계양구','남구','남동구','동구','부평구','서구','연수구','중구','강화군','옹진군'],
'광주' : ['광산구','남구','동구','북구','서구'],
'대전' : ['대덕구','동구','서구','유성구','중구'],
'울산' : ['남구','동구','북구','중구','울주군'],
'강원' : ['강릉시','동해시','삼척시','속초시','원주시','춘천시','태백시','고성군','양구군','양양군','영월군','인제군','정선군','철원군','평창군','홍천군','화천군','횡성군'],
'경기' : ['고양시 덕양구','고양시 일산동구','고양시 일산서구','과천시','광명시','광주시','구리시','군포시','김포시','남양주시','동두천시','부천시 소사구','부천시 오정구','부천시 원미구','성남시 분당구','성남시 수정구','성남시 중원구','수원시 권선구','수원시 영통구','수원시 장안구','수원시 팔달구','시흥시','안산시 단원구','안산시 상록구','안성시','안양시 동안구','안양시 만안구','양주시','오산시','용인시 기흥구','용인시 수지구','용인시 처인구','의왕시','의정부시','이천시','파주시','평택시','포천시','하남시','화성시','가평군','양평군','여주군','연천군'],
'경남' : ['거제시','김해시','마산시','밀양시','사천시','양산시','진주시','진해시','창원시','통영시','거창군','고성군','남해군','산청군','의령군','창녕군','하동군','함안군','함양군','합천군'],
'경북' : ['경산시','경주시','구미시','김천시','문경시','상주시','안동시','영주시','영천시','포항시 남구','포항시 북구','고령군','군위군','봉화군','성주군','영덕군','영양군','예천군','울릉군','울진군','의성군','청도군','청송군','칠곡군'],
'전남' : ['광양시','나주시','목포시','순천시','여수시','강진군','고흥군','곡성군','구례군','담양군','무안군','보성군','신안군','영광군','영암군','완도군','장성군','장흥군','진도군','함평군','해남군','화순군'],
'전북' : ['군산시','김제시','남원시','익산시','전주시 덕진구','전주시 완산구','정읍시','고창군','무주군','부안군','순창군','완주군','임실군','장수군','진안군'],
'제주' : ['제주시','서귀포시'],
'충남' : ['계룡시','공주시','논산시','보령시','서산시','아산시','천안시 동남구','천안시 서북구','금산군','당진군','부여군','서천군','연기군','예산군','청양군','태안군','홍성군'],
'충북' : ['제천시','청주시 상당구','청주시 흥덕구','충주시','괴산군','단양군','보은군','영동군','옥천군','음성군','증평군','진천군','청원군'],
'서울->강남구' : ['개포1동','개포2동','개포4동','개포동','논현1동','논현2동','논현동','대치1동','대치2동','대치4동','대치동','도곡1동','도곡2동','도곡동','삼성1동','삼성2동','삼성동','세곡동','수서동','신사동','압구정동','역삼1동','역삼2동','역삼동','율현동','일원1동','일원2동','일원본동','일원동','자곡동','청담동','무역센터우체국사서함','서울강남우체국사서함','서울영동우체국사서함'],
'서울->강동구' : ['강일동','고덕1동','고덕2동','고덕동','길동','둔촌1동','둔촌2동','둔촌동','명일1동','명일2동','명일동','상일동','성내1동','성내2동','성내3동','성내동','암사1동','암사2동','암사3동','암사동','천호1동','천호2동','천호3동','천호동','서울강동우체국사서함'],
'서울->강북구' : ['미아동','번1동','번2동','번3동','번동','삼각산동','삼양동','송중동','송천동','수유1동','수유2동','수유3동','수유동','우이동','인수동','서울강북우체국사서함'],
'서울->강서구' : ['가양1동','가양2동','가양3동','가양동','개화동','공항동','과해동','내발산동','등촌1동','등촌2동','등촌3동','등촌동','마곡동','방화1동','방화2동','방화3동','방화동','염창동','오곡동','오쇠동','외발산동','우장산동','화곡1동','화곡2동','화곡3동','화곡4동','화곡6동','화곡8동','화곡본동','화곡동','서울강서우체국사서함','서울화곡우체국사서함'],
'서울->관악구' : ['낙성대동','난곡동','난향동','남현동','대학동','미성동','보라매동','봉천동','삼성동','서림동','서원동','성현동','신림동','신사동','신원동','은천동','인헌동','조원동','중앙동','청룡동','청림동','행운동','서울관악우체국사서함'],
'서울->광진구' : ['광장동','구의1동','구의2동','구의3동','구의동','군자동','능동','자양1동','자양2동','자양3동','자양4동','자양동','중곡1동','중곡2동','중곡3동','중곡4동','중곡동','화양동','서울광진우체국사서함','동서울우편집중국사서함'],
'서울->구로구' : ['가리봉동','개봉1동','개봉2동','개봉3동','개봉동','고척1동','고척2동','고척동','구로1동','구로2동','구로3동','구로4동','구로5동','구로동','궁동','신도림동','오류1동','오류2동','오류동','온수동','천왕동','항동','구로디지털단지우체국사서함'],
'서울->금천구' : ['가산동','독산1동','독산2동','독산3동','독산4동','독산동','시흥1동','시흥2동','시흥3동','시흥4동','시흥5동','시흥동','서울금천우체국사서함'],
'서울->노원구' : ['공릉1.3동','공릉2동','공릉동','상계1동','상계2동','상계3.4동','상계5동','상계6.7동','상계8동','상계9동','상계10동','상계동','월계1동','월계2동','월계3동','월계동','중계1동','중계2.3동','중계4동','중계본동','중계동','하계1동','하계2동','하계동','서울노원우체국사서함'],
'서울->도봉구' : ['도봉1동','도봉2동','도봉동','방학1동','방학2동','방학3동','방학동','쌍문1동','쌍문2동','쌍문3동','쌍문4동','쌍문동','창1동','창2동','창3동','창4동','창5동','창동'],
'서울->동대문구' : ['답십리1동','답십리2동','답십리동','신설동','용두동','이문1동','이문2동','이문동','장안1동','장안2동','장안동','전농1동','전농2동','전농동','제기동','청량리동','회기동','휘경1동','휘경2동','휘경동','동대문우체국사서함','서울청량우체국사서함'],
'서울->동작구' : ['노량진1동','노량진2동','노량진동','대방동','동작동','본동','사당1동','사당2동','사당3동','사당4동','사당5동','사당동','상도1동','상도2동','상도3동','상도4동','상도동','신대방1동','신대방2동','신대방동','흑석동','서울동작우체국사서함'],
'서울->마포구' : ['공덕동','구수동','노고산동','당인동','대흥동','도화동','동교동','마포동','망원1동','망원2동','망원동','상수동','상암동','서교동','성산1동','성산2동','성산동','신공덕동','신수동','신정동','아현동','연남동','염리동','용강동','중동','창전동','토정동','하중동','합정동','현석동','서울마포우체국사서함'],
'서울->서대문구' : ['남가좌1동','남가좌2동','남가좌동','냉천동','대신동','대현동','미근동','봉원동','북가좌1동','북가좌2동','북가좌동','북아현동','신촌동','연희동','영천동','옥천동','창천동','천연동','충정로2가','충정로3가','합동','현저동','홍은1동','홍은2동','홍은동','홍제1동','홍제2동','홍제3동','홍제동','서대문우체국사서함','서울충정로우체국사서함'],
'서울->서초구' : ['내곡동','반포1동','반포2동','반포3동','반포4동','반포본동','반포동','방배1동','방배2동','방배3동','방배4동','방배본동','방배동','서초1동','서초2동','서초3동','서초4동','서초동','신원동','양재1동','양재2동','양재동','염곡동','우면동','원지동','잠원동','서울서초우체국사서함'],


이하 생략

}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

위는 js 파일 입니다. "선택하세요"가 처음에 나오지 않고 "서울"이 먼저 나와서
항상 write부분에서 반드시 선택을 해야하는데, 선택을 하지 않고 싶을 때는 어떻게 해야하나요?

감사합니다.


댓글 작성

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

로그인하기

댓글 5개

11년 전
선택하세요를 추가하시려면 일단
for(var i=0; i<sido.length; i++) == > for(var i=1; i<=sido.length; i++)
로 바꾸시고
[code]
update_sido : function() {
if (this.sido == null) return;

var sido = this['시도'];
sido[0] = "선택하세요";

this.sido.options.add(new Option(sido[0],sido[0]));
for(var i=1; i<=sido.length; i++)
this.sido.options.add(new Option(sido[i], sido[i]));

this.update_gugun();
this.update_dong();
},
[/code]
요런형태로 모두 바꾸시면 됩니다
대단히 감사합니다. 적용을 했는데 안됩니다. 어디가 문제인지요.

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_gugun : function() {
if (this.gugun == null) return;

var gugun = this['구군'];
gugun[0] = "선택하세요";


this.gugun.options.add(new Option(gugun[0],gugun[0]));
for(var i=1; i<gugun.length; i++)
this.gugun.options.add(new Option(gugun[i], gugun[i]));
this.update_gugun();
this.update_dong();
},
update_dong : function() {
if (this.dong == null) return;

var dong = this['동'];
dong[0] = "선택하세요";

this.dong.options.add(new Option(dong[0],dong[0]));
for(var i=1; i<dong.length; i++)
this.dong.options.add(new Option(dong[i], dong[i]));
this.update_gugun();
this.update_dong();
},
update_sido : function() {
if (this.sido == null) return;
var sido = this['시도'];
sido[0] = "선택하세요";

this.sido.options.add(new Option(sido[0],sido[0]));
for(var i=1; i<sido.length; i++)
this.sido.options.add(new Option(sido[i], sido[i]));
this.update_gugun();
this.update_dong();
},
[code]
// HTML
<select name="wr_10" id="sido1">
<option value="">선택하세요</option>
</select>
<select name="wr_10" id="gugun1">
<option value="">선택하세요</option>
</select>
<select name="wr_10" id="dong1">
<option value="">선택하세요</option>
</select>
[/code]
[code]
// JS
update_gugun : function() {
if (this.gugun == null) return;
=>
update_gugun : function() {
if (this.gugun == null || this.sido.value == '') return;


update_dong : function() {
if (this.dong == null) return;
=>
update_dong : function() {
if (this.dong == null || this.sido.value == '') return;
[/code]
슈와이님, 대단히 감사합니다.
그런데, 적용을 했으나 안됩니다.
html 파일을 잘못 했나요.
<select name="wr_10" id="sido1">
</select>
<select name="wr_10" id="gugun1">
</select>
이렇게 했고요, 스크립트 불러왔으며, 하단에 스크립트 적용 했습니다.
시도; 선택하세요는 나오는데, 구군, 동에는 안나오네요.
한번 더 살펴주시면 대단히 감사하겠습니다.
고맙습니다.
슈와이님, 너무 감사드립니다.
적용했습니다. 너무 잘 되고 있습니다.
더욱 열심히 공부하겠습니다.

게시글 목록

번호 제목
284508
284499
284492
284490
284484
284481
284478
284476
284474
284472
284470
284458
284457
284454
284453
284447
284446
284444
284441
284440