2단 셀렉트 저장시 문제 입니다.

2단 셀렉트 저장시 문제 입니다.

QA

2단 셀렉트 저장시 문제 입니다.

답변 3

본문


                <script language = "javascript"> 
                //상위 셀렉트로 하위 셀렉트 제어하기
                function showSub(obj) {

                    var f = document.forms.fwrite;
                    for($i = 1; $i < 11; $i++){
                        
                        if(obj == $i) {
                            f.getElementsByClassName("SUB"+$i)[0].style.display = "inline-block"; 

                        
                        }else {                            
                            $( 'SUB'+$i ).remove( '#wr_2' );
                        
                        }
                
                    }
                }
                
                </script>
                <select name="wr_1" id="wr_1" required onChange="showSub(this.options[this.selectedIndex].id);">
                <?if(!$write[wr_1]){?>

                    <option value="1차분류">1차분류 선택하세요.</option>
                    <?for($i = 1; $i < 11; $i++){?>
                    <option id = "<?=$i?>"value="<?=$board['bo_'.$i.'_subj'] ?>" <?php if($board['bo_'.$i.'_subj'] == '') echo"style='display:none;'"; ?>><?=$board['bo_'.$i.'_subj'] ?></option>
                    <?}?>

                <?}else{?>

                    <option value="<?=$write[wr_1]?>">==<?=$write[wr_1]?>==</option>
                    <?for($i = 1; $i < 11; $i++){?>
                        <option id = "<?=$i?>"value="<?=$board['bo_'.$i.'_subj'] ?>" <?php if($board['bo_'.$i.'_subj'] == '') echo"style='display:none;'"; ?>><?=$board['bo_'.$i.'_subj'] ?></option>                        
                    <?}?>

                <?}?>
                </select>
                <?for($i = 0; $i < 11; $i++){?>
                <select class="SUB<?=$i?>" name="wr_2" id="wr_2" required style="display:none;">

                    <? $cat2 = explode('|',$board['bo_'.$i]);?>

                    <?if(!$write['wr_'.$i + 2]){?>
                        <option value="2차분류">2차분류 선택하세요.</option>
                        <?for($j = 0; $j < count($cat2); $j++){?>
                        <option value="<?=$cat2[$j]?>"><?=$cat2[$j]?></option>
                        <?}?>

                    <?}else{?>
                        <option value="<?=$write[wr_2]?>">==<?=$write[wr_2]?>==</option>
                        <?for($j = 0; $j < count($cat2); $j++){?>
                        <option value="<?=$cat2[$j]?>"><?=$cat2[$j]?></option>
                        <?}?>
                    <?}?>
                </select>
                <?}?>

 

여분필드로 2차 카테고리를 만들려고 합니다.
위 소스 대로 하면 두번째 셀렉트가 보이는건 1개이지만 실제론

10개가 만들어지고 저장이 제대로 안되서 나오네요.

1단에서 선택한 부분만 2차로 뿌려지는 방법이 있을까요...

아... 전 웹디자이너인데 이런거 만들고 있으려니 숨이 막히네요 ㅠㅠ

도움 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 3

소스는 혹시 직접 짜신건가요??

불필요한 구문이 너무 많아서요..

 


<script type="text/javascript">
    var listText = new Array();
    var listValue = new Array();
    listText[0] = new Array('옵션1-1','옵션1-2','옵션1-3'); // 각 option의 text
    listValue[0] = new Array('op1-1','op1-2','op1-3'); // 각 option의 value
    listText[1] = new Array('옵션2-1','옵션2-2','옵션2-3');
    listValue[1] = new Array('op2-1','op2-2','op2-3');
    listText[2] = new Array('옵션3-1','옵션3-2','옵션3-3');
    listValue[2] = new Array('op3-1','op3-2','op3-3');
    function getList(sel_id) {
        var sel = document.getElementsByName('selName');
        var sel_id = sel_id - 1;
        if(sel_id>=0) {
            sel[1].options.length = listText[sel_id].length;
            for(i=0;i<listText[sel_id].length;i++){
                sel[1].options[i] = new Option(listText[sel_id][i], listValue[sel_id][i]);
            }
        } else {
            sel[1].options.length = 1;
            sel[1].options[0].text = "------";
            sel[1].options[0].value = 0;
        }
    }
</script>
<select name="selName" onchange="getList(this.selectedIndex)">
    <option>선택</option>
    <option value="op1">옵션1</option>
    <option value="op2">옵션2</option>
    <option value="op3">옵션3</option>
</select>
<select name="selName">
    <option>------</option>
</select>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 11
© SIRSOFT
현재 페이지 제일 처음으로