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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
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로 전달해서 데이터를 만들어서 가져오셔야 합니다.

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

회원로그인

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