selectbox 기본선택 질문

selectbox 기본선택 질문

QA

selectbox 기본선택 질문

본문

현재 슈와이 님이 올리신

https://sir.kr/g5_tip/6813

이 팁을 이용하여 , 게시판에 여분필드값을 추가하여

셀렉트박스를 이용중인데요.

 

write.php

인증현황 :  <input type="text" name="wr_6" id="wr_6" value="<?php echo $wr_6 ?>">
</div>
<script src="/js/makebox.js"></script>
 <script>
 $( '#wr_6' ).makeBox('인증대기중,인증완료,인증불가', 'select');
</script>

 

이런식으로 선택하여 인증현황을 바꿔주는 형식으로 구성 하였습니다.

이 소스를 이용할경우 기본 선택값을 '인증대기중'으로 하고 싶은데

현재 제일 상위에 '인증대기중'이 되어 있지만 실제로 '선택'이 되어 있지는 않습니다.

처음에 선택을 하지 않아도 기본 선택을 '인증대기중'으로 하고 싶은데요.

혹시 팁을 좀 주실분 계실까요.

아래는 해당 소스의 제이쿼리 입니다.

 

$.fn.makeBox = function (text, type) {
    var  html = '', arr = text.split(','), i, checked, id = $(this).attr( 'id' ), val = $(this).val(), id_1, obj = $( '#' + id ); 
    $( obj ).prop('type', 'hidden');
    if (type == 'select') {    
        id_1 = id + '_1';
        html = '<select id="' + id_1 +'">';
        for (i in arr) {        
            checked = val.indexOf(arr[i]) + 1 ? 'selected' : '';
            html += '<option value="' + arr[i] + '" ' + checked + '>' + arr[i] + '</option>';
        }
        html += '</select>';
        $( 'body' ).on('change', '#' + id_1, function() {            
            $( '#' + id ).val( this.value ); 
        });
    } else {    
         for (i in arr) {        
            checked = val.indexOf(arr[i]) + 1 ? ' checked' : '';
            id_1 = id  + '_' + i;
            html += '<input type="' + type + '" name="' + id + '_1' + '" id="' + id_1 +'" value="' + arr[i] + '"' + checked + ' class="' + id + '">';
            html += '<label for="' + id_1 + '">' + arr[i] + '</label> ';
         } 
        $( 'body' ).on( 'click', '.' + id, function() {
            var ar = [];
            $( '.' + id ).each( function() {
                if (this.checked) ar.push(this.value); 
            });
            obj.val( ar.join(',') ); 
        });
     }
    $( '#' + id ).after(html); 
}

 

 

 

이 질문에 댓글 쓰기 :

답변 1

인증현황 :  <input type="text" name="wr_6" id="wr_6" value="<?php echo $wr_6 ?>">

->

인증현황 :  <input type="text" name="wr_6" id="wr_6" value="<?php echo $wr_6 ? $wr_6 : '인증대기중' ?>">

 

으로 변경해 보시면 어떨까 합니다.

시간이 나서.. 잠깐 테스트를 해보니..

제 환경에서는..

<input type="text" name="wr_6" id="wr_6" value="인증완료"> 로 하면.. 인증완료가 선택된 것으로
<input type="text" name="wr_6" id="wr_6" value="인증대기중"> 으로 하면.. 인증대기중이 선택된 것으로 (selected) 확인되었습니다. (크롬 개발자 도구)

인증현황 :  <input type="text" name="wr_6" id="wr_6" value="<?php echo $wr_6 ? $wr_6 : '인증대기중' ?>">
소스도. 제 환경에서는 제가 생각한 대로 .. 적용이 되었는데..
(이 소스는 내용 수정 페이지의 경우에는, db 에 저장된 wr_6 값이 우선합니다.)

다른 문제가 있거나.. 혹은 제가 파악하지 있는부분이 있는지는 모르겠지만..
참고가 될까 싶어 다시 남깁니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 117
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT