셀렉트 값 수정하면 풀리는 문제

셀렉트 값 수정하면 풀리는 문제

QA

셀렉트 값 수정하면 풀리는 문제

답변 3

본문

안녕하세요 셀렉트를 글쓰기에 넣었는데

 

글을 수정하면 풀려버리더라구요...

 

풀리지않게하려는데 도움좀 부탁드립니다..

 


<div class="form-group">
    <label class="col-sm-2 control-label" for="wr_homepage">지역</label>
    <div class="col-sm-3">
        <select id="city" value="<?php echo $wr_6 ?>" name="wr_6" required class="form-control input-sm">
            <option value="">시/도</option>
            <option value="서울" data-zone="강남구|강동구|강북구|강서구|관악구|광진구|구로구|금천구|노원구|도봉구|동대문구|동작구|마포구|서대문구|서초구|성동구|성북구|송파구|양천구|영등포구|용산구|은평구|종로구|중구|중랑구" >서울</option>
            <option value="경기" data-zone="가평군|고양시|과천시|광명시|광주시|구리시|군포시|김포시|남양주시|동두천시|부천시|성남시|수원시|시흥시|안산시|안성시|안양시|양주시|양평군|여주군|연천군|오산시|용인시|의왕시|의정부시|이천시|파주시|평택시|포천군|하남시|화성시">경기</option>
            <option value="인천" data-zone="강화군|계양구|남동구|부평구|연수구|옹진군|중구|서구|동구|남구">인천</option>
            <option value="강원" data-zone="강릉시|동해시|삼척시|속초시|양구군|양양군|영월군|원주시|인제군|정선군|철원군|춘천시|태백시|평창군|홍천군|화천군|횡성군">강원</option>
            <option value="충남" data-zone="공주시|금산군|논산시|당진시|보령시|부여군|서산시|서천군|아산시|연기군|예산군|천안시|청양군|태안군|홍성군">충남</option>
            <option value="대전" data-zone="대덕구|유성구|서구|중구|동구">대전</option>
            <option value="충북" data-zone="괴산군|단양군|보은군|영동군|옥천군|음성군|제천시|진천군|청원군|청주시|충주시">충북</option>
            <option value="세종" data-zone="">세종</option>
            <option value="부산" data-zone="강서구|금정구|기장군|남구|동구|동래구|부산진구|북구|사상구|사하구|서구|수영구|연제구|영도구|중구|해운대구">부산</option>
            <option value="울산" data-zone="울주군|중구|남구|동구|북구">울산</option>
            <option value="대구" data-zone="달서구|달성구|수성구|남구|중구|서구|북구|동구">대구</option>
            <option value="경북" data-zone="경산시|경주시|고령군|구미시|군위군|김천시|문경시|봉화군|상주시|성주군|안동시|영덕군|영양군|영주시|영천시|예천군|울릉군|울진군|의성군|청도군|청송군|칠곡군|포항시">경북</option>
            <option value="경남" data-zone="거제시|거창군|고성군|김해시|남해군|마산시 합포구|마산시 회원구|밀양시|사천시|산청군|양산시|의령군|진주시|진해시|창녕군|창원시|통영시|하동군|함안군|함양군|합천군">경남</option>
            <option value="전남" data-zone="강진군|고흥군|곡성군|광양시|구례군|나주시|담양군|목포시|무안군|보성군|순천시|신안군|여수시|영광군|영암군|완도군|장성군|장흥군|진도군|함평군|해남군|화순군">전남</option>
            <option value="광주" data-zone="광산구|북구|서구|남구|동구">광주</option>
            <option value="전북" data-zone="고창군|군산시|김제시|남원시|무주군|부안군|순창군|완주군|익산시|임실군|장수군|전주시|정읍시|진안군">전북</option>
            <option value="제주" data-zone="서귀포시|제주시">제주</option>
        </select>
    </div>
    <div class="col-sm-3">
        <select id="zone" value="<?php echo $wr_7 ?>" name="wr_7" required class="form-control input-sm">
            <option value="">시/군/구</option>
        </select>
    </div>
</div>
<script>
$(function(){
    $('#city').on('change', function(){
        $('#zone > option:gt(0)').remove();
        var $zone = $('#city > option:selected').attr('data-zone');
        if($zone){
            $($zone.split('|')).each(function(){
                $('#zone').append('<option value="' + this + '">' + this + '</option>');
            });
        }
        $('#zone').focus();
    });
});
</script>

이 질문에 댓글 쓰기 :

답변 3

풀려버리는게 아니라 수정시는 구군 select의 option은 아예 만들어지지 않으니 선택된 상태가 될 수 없는 소스입니다

 

구군 만드는 부분을 따로 떼어서 아래처럼 함수로 만들고 수정시에도 호출 되도록 하세요

function gu_gun(){

        var $zone = $('#city > option:selected').attr('data-zone');
        if($zone){
            $($zone.split('|')).each(function(){
                $('#zone').append('<option value="' + this + '">' + this + '</option>');
            });
        }
        $('#zone').focus();

}

 

35~41행 삭제 후

$('#zone > option:gt(0)').remove(); 다음 행에 gu_gun(); <--이걸 넣으세요

 

아래 코드는 수정시 작동

if("<?=$w?>"=='u'){

 $("#city").val("<?=$write[wr_6]?>");

 gu_gun();

 $("#zone").val("<?=$write[wr_7]?>");

}

--- 위 소스는 모두 < /script >바로 위에 넣으면 됩니다

select 안에 value로 처리하시는게 아니라 option에 selected 라는 옵션으로 선택되어지는 부분이라

if 문으로 하셔서 해당 부분에 적용되는거라면 selected 될수 있도록 적용해 주셔야 합니다.

간단하게 하실려면 $("#city").val("<?php echo $wr_6;?>") 해보세요

[code]
<script>
$(function(){
    $('#city').on('change', function(){
        $('#zone > option:gt(0)').remove();
        var $zone = $('#city > option:selected').attr('data-zone');
        if($zone){
            $($zone.split('|')).each(function(){
                $('#zone').append('<option value="' + this + '">' + this + '</option>');
            });
        }
        $('#zone').focus();
    });
});

$("#city").val("<?php echo $wr_6;?>")

</script>
[code]

이렇게넣었더니 시/도는 남아잇는데 시군구는 그대로 사라져있습니다 ㅜ

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 954
© SIRSOFT
현재 페이지 제일 처음으로