채택완료

지역 셀렉트 관련

초기 페이지에서 값 입력 받는건 잘 되는데

페이지 수정에서 값 유지하는 부분이 어려운데 

도움 좀 부탁드립니다 ~~ 선택했던 값이 유지가 되어야 하거든요..

 

Copy
<tr>
            <th>주요활동 지역구</th>
            <td class="inline-inline">
                <select name="sido"id="sido">
                  <option value="">선택</option>
                </select>
                <select name="gugun" id="gugun">
                  <option value="">선택</option>
                </select>
            </td>
        </tr>

 

 

//sido option 추가
      jQuery.each(hangjungdong.sido, function(idx, code){
        var sido = '<?php echo $sido ?>';
        //append를 이용하여 option 하위에 붙여넣음
        jQuery('#sido').append(fn_option(code.sido, code.codeNm));

      });
     
      //sido 변경시 시군구 option 추가
      jQuery('#sido').change(function(){
        jQuery('#gugun').show();
        jQuery('#gugun').empty();
        jQuery('#gugun').append(fn_option('','선택')); //
        jQuery.each(hangjungdong.sigugun, function(idx, code){
          if(jQuery('#sido > option:selected').val() == code.sido)
            jQuery('#gugun').append(fn_option(code.sigugun, code.codeNm));
        });
     
        //세종특별자치시 예외처리
        //옵션값을 읽어 비교
        if(jQuery('#sido option:selected').val() == '36'){
          jQuery('#gugun').hide();
          //index를 이용해서 selected 속성(attr)추가
          //기본 선택 옵션이 최상위로 index 0을 가짐
          jQuery('#gugun option:eq(1)').attr('selected', 'selected');
          //trigger를 이용해 change 실행
          //jQuery('#gugun').trigger('change');
        }
      });
    
      function fn_option(code, name){
        return '<option value="' + code +'">' + name +'</option>';
      }
|

답변 1개

채택된 답변
+20 포인트

Copy
jQuery.each(hangjungdong.sido, function(idx, code){
        jQuery('#sido').append(fn_option(code.sido, code.codeNm,'<?php echo $sido ?>'));
});



 


function fn_option(code, name ,selected){
        var selected = (typeof selected !== 'undefined' && code == selected)?'selected':'';
        return '<option value="' + code +'" '+selected+'>' + name +'</option>';
}

 

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