셀렉트박스 selected 옵션 추가

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
셀렉트박스 selected 옵션 추가

QA

셀렉트박스 selected 옵션 추가

본문

DB 테이블에서 불러와서 셀렉트박스에 옵션 추가하는 항목을 반복문을 사용하여 

구현하여 사용하고 있습니다.

이 구문에 selected 하여 현재 선택되어있는 여분필드를 표시하고 싶습니다

어떻게 selected 구문을 추가할 수 있을까요?


<?php $sql = " select * from g5_part ";
$res = sql_query($sql);
for ($i=0; $row = sql_fetch_array($res); $i++) {
      $nm[$i] = $row['company'].'|1|'.$row['part'].'|2|'.$row['team'].'|3|';  
} ?>
<script type="text/javascript">
function initCataID(cmd){
cmd = eval(cmd);
if(cmd == 1){
   mb_2.length = 1;
   mb_3.length = 1;
   mb_2.selectedIndex = 0;
   mb_3.selectedIndex = 0;
}
f(cmd == 2){
   mb_3.length = 1;
   mb_3.selectedIndex = 0;
}
}
</script>
<script type="text/javascript">
/* JSON encode, parse  */
var stuff = <?php echo json_encode($nm); ?>;       
var str = JSON.stringify(stuff);
var menuArr = new Array();
     menuArr= JSON.parse(str);
var z1 = 0;
var temp1 = 0;
initCataID(1);
for(var m = 0; m < menuArr.length; m ++) {
   if ( menuArr[m].substring(0, menuArr[m].indexOf("|1|")) != temp1 ){         
       mb_1.length =  mb_1.length + 1;
       mb_1.options[z1+1].value = menuArr[m].substring(0, menuArr[m].indexOf("|1|")) ;
       mb_1.options[z1+1].text = menuArr[m].substring(0, menuArr[m].indexOf("|1|")) ;
       temp1 = menuArr[m].substring(0, menuArr[m].indexOf("|1|"));
       z1++;
    }
                    /*  index 1에 중복 제거입니다.  */
}
</script>

이 부분을 조금 만지면 추가가 될 것 같은데 도저히 감이 안 잡히니 .. 도움을 요청합니다!


<td>
<select name = 'mb_1' id='mb_1' OnChange='javascript:getCataAllId(1)' class="select1">
  <option value="<?=$mb['mb_1']?>" <?= $mb['mb_1']==$row['company'] ?'selected' : ''?>><?= $mb['mb_1'] ?  $mb['mb_1'] : '회사 선택'  ?></option>
</select>
</td>
</tr>
 <tr>
   <th scope="row"><label for="mb_2">부 구분</label></th>
<td>
<select name = 'mb_2' id='mb_2' OnChange='javascript:getCataAllId(2)' class="select2">
<option value="<?=$mb['mb_2']?>" <?= $mb['mb_2']==$row['part'] ?'selected' : ''?>>부서 선택</option>
   </select>
</td>
<th scope="row"><label for="mb_3">팀 구분</label></th>
<td>
<select name = 'mb_3' id='mb_3' class="select3">
<option value='$mb["mb_3"]' selected>팀 선택</option>
</select>
</td>

표시해주는 부분은 테스트를 위해 세 항목 다 다르게 해두었습니다

 

관련한 전 코드는

https://sir.kr/qa/471889?sfl=mb_id%2C1&lstx=bossxor에 올려두었습니다. 

option추가할때 selected항목을 어떻게 추가할지 모르겠습니다..

이 질문에 댓글 쓰기 :

답변 1

전체적인 구성이 어떻게 돼있는지는 모르겠으나

다른 부분 참고해서


<select name = 'mb_3' id='mb_3' OnChange='javascript:getCataAllId(3)' class="select3">
  <option value="<?=$mb['mb_3']?>" <?=$mb['mb_3']==$row['team'] ? 'selected' : ''?>><?=<?=$mb['mb_3'] ? <?=$mb['mb_3']?> : '팀 선택' ?></option>
</select>

이런형태가 되지 않을까 싶네요

댓글 감사합니다 ㅠ
제 설명이 조금 부족했던 것 같습니다

올려주신 대로 작성하면 맨 위에 현재값이 표시가 되는건 맞는데 ,
반복문으로 option값을 만들어 줄때에 mb_1,2,3에 각각 있는값이 선택되어 나왔으면 좋겠습니다.

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

회원로그인

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