select 박스값을 외부로 출력하고 싶습니다.

select 박스값을 외부로 출력하고 싶습니다.

QA

select 박스값을 외부로 출력하고 싶습니다.

본문

select박스(업체DB정보담겨져있습니다.)

select값 선택시에 각업체 부가정보가 출력되며

수량을 적을 수 있는 input창이 3개가 생성되어야 합니다.

 

select 클릭시 input창 생성까지는 id값을 가져와 switch 문을 사용하여 생성하였습니다.

 

이후 작업진행이 안되어 질문드립니다.

select값 선택시 업체부가정보 값이 나와야하는데 정보가 출력이 안되고 있습니다.

input창만 출력되네요..ㅠ

 

조언부탁드립니다.

 

<<원하는 값>>

구분1(요금1)   input창

구분2(요금2)   input창

구분3(요금3)   input창 

 

<<현재문제 출력값>>

()   input창

()   input창

()   input창 

 



<tbody>
<tr>
    <td>
        <select name="dv_sc_type" id="dv_sc_type">
            <option value=''>전체</option>
            <?php
            $dv_sql = "select * from {$g5['delivery_table']}";
            $dv_result = sql_query($dv_sql);
            for ($i=1; $dv_row=sql_fetch_array($dv_result); $i++) {
                echo '<option value="'.$i.'" '.get_selected($i, $dv_row['dv_no']).'>'.$dv_row['dv_name'].'</option>';
            }
            ?>
        </select>
    </td>
</tr>
<?php
$dv_sql1 = "select * from {$g5['delivery_table']} where dv_no = '{$dv_row['dv_no']}' ";
$dv_result1 = sql_query($dv_sql1);
$dv = sql_fetch_array($dv_result1);
?>
<tr id="dv_con_type1">
    <th scope="row"><?php echo $dv['dv_type1']; ?>(<?php echo $dv['dv_price1']; ?> 원)</th>
    <td class="td_extra">
        <input type="text" name="it_6" id="it_6" value="<?php echo $it['it_6']; ?>" class="frm_input">
    </td>
</tr>
<tr id="dv_con_type2">
    <th scope="row"><?php echo $dv['dv_type2']; ?>(<?php echo $dv['dv_price2']; ?> 원)</th>
    <td class="td_extra">
        <input type="text" name="it_7" id="it_7" value="<?php echo $it['it_7']; ?>" class="frm_input">
    </td>
</tr>
<tr id="dv_con_type3">
    <th scope="row"><?php echo $dv['dv_type3']; ?>(<?php echo $dv['dv_price3']; ?> 원)</th>
    <td class="td_extra">
        <input type="text" name="it_8" id="it_8" value="<?php echo $it['it_8']; ?>" class="frm_input">
    </td>
</tr>
</tbody>

 

<script>
    $(function() {
        <?php
        switch($dv_row['dv_sc_type']) {
            case 1:
                echo '$("#dv_con_type1").show();'.PHP_EOL;
                echo '$("#dv_con_type2").show();'.PHP_EOL;
                echo '$("#dv_con_type3").show();'.PHP_EOL;
                break;
            case 2:
                echo '$("#dv_con_type1").show();'.PHP_EOL;
                echo '$("#dv_con_type2").show();'.PHP_EOL;
                echo '$("#dv_con_type3").show();'.PHP_EOL;
                break;
            case 3:
                echo '$("#dv_con_type1").show();'.PHP_EOL;
                echo '$("#dv_con_type2").show();'.PHP_EOL;
                echo '$("#dv_con_type3").hide();'.PHP_EOL;
                break;
            case 4:
                echo '$("#dv_con_type1").show();'.PHP_EOL;
                echo '$("#dv_con_type2").show();'.PHP_EOL;
                echo '$("#dv_con_type3").hide();'.PHP_EOL;
                break;
            default:
                echo '$("#dv_con_type1").hide();'.PHP_EOL;
                echo '$("#dv_con_type2").hide();'.PHP_EOL;
                echo '$("#dv_con_type3").hide();'.PHP_EOL;
                break;
        }
        ?>
        $("#dv_sc_type").change(function() {
            var type = $(this).val();

            switch(type) {
                case "1":
                    $("#dv_con_type1").show();
                    $("#dv_con_type2").show();
                    $("#dv_con_type3").show();
                    break;
                case "2":
                    $("#dv_con_type1").show();
                    $("#dv_con_type2").show();
                    $("#dv_con_type3").show();
                    break;
                case "3":
                    $("#dv_con_type1").show();
                    $("#dv_con_type2").show();
                    $("#dv_con_type3").hide();
                    break;
                case "4":
                    $("#dv_con_type1").show();
                    $("#dv_con_type2").show();
                    $("#dv_con_type3").hide();
                    break;
                default:
                    $("#dv_con_type1").hide();
                    $("#dv_con_type2").hide();
                    $("#dv_con_type3").hide();
                    break;
            }
        });
    });
</script>

이 질문에 댓글 쓰기 :

답변 2

ajax가 어쩌면 편한 방법일 수 있겠습니다.

지금 코드로 하자면

        <select name="dv_sc_type" id="dv_sc_type">
            <option value=''>전체</option>
            <?php
            $dv_sql = "select * from {$g5['delivery_table']}";
            $dv_result = sql_query($dv_sql);
            for ($i=1; $dv_row=sql_fetch_array($dv_result); $i++) {
                echo '<option value="'.$i.'" '.get_selected($i, $dv_row['dv_no']).'>'.$dv_row['dv_name'].'</option>';
$dv_set[]= $dv_row['dv_no']; 추가, 아래 코드를 보니 3개만 나온다는 가정 하에...
            }
            ?>
        </select>
    </td>
</tr>
<?php
$dv_sql1 = "select * from {$g5['delivery_table']} where dv_no = '{$dv_set[0]}' ";
$dv_result1 = sql_query($dv_sql1);
$dv = sql_fetch_array($dv_result1);
?>
<tr id="dv_con_type1">
    <th scope="row"><?php echo $dv['dv_type1']; ?>(<?php echo $dv['dv_price1']; ?> 원)</th>
    <td class="td_extra">
        <input type="text" name="it_6" id="it_6" value="<?php echo $it['it_6']; ?>" class="frm_input">
    </td>
</tr>

<?php
 $dv_sql1 = "select * from {$g5['delivery_table']} where dv_no = '{$dv_set[1]}' "; 
$dv_result1 = sql_query($dv_sql1);
 $dv = sql_fetch_array($dv_result1);
 ?>


<tr id="dv_con_type2">
    <th scope="row"><?php echo $dv['dv_type2']; ?>(<?php echo $dv['dv_price2']; ?> 원)</th>
    <td class="td_extra">
        <input type="text" name="it_7" id="it_7" value="<?php echo $it['it_7']; ?>" class="frm_input">
    </td>
</tr>

<?php
$dv_sql1 = "select * from {$g5['delivery_table']} where dv_no = '{$dv_set[2]}' ";
$dv_result1 = sql_query($dv_sql1);
$dv = sql_fetch_array($dv_result1);
 ?>


<tr id="dv_con_type3">
    <th scope="row"><?php echo $dv['dv_type3']; ?>(<?php echo $dv['dv_price3']; ?> 원)</th>
    <td class="td_extra">
        <input type="text" name="it_8" id="it_8" value="<?php echo $it['it_8']; ?>" class="frm_input">
    </td>
</tr>
</tbody>

 

추천할 방법은 아닌 듯합니다.

div_row 값을 그냥 select로 가져오실수 없는 구조입니다.

해당 select 값을 가지고 ajax로 전달해서 데이터를 만들어서 가져오셔야 합니다.

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

회원로그인

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