다단분류 질문있습니다.

다단분류 질문있습니다.

QA

다단분류 질문있습니다.

본문

item.php


<tr>
    <td>
        <select class="cate_sel></select> // 기본분류
    </td>
</tr>
<tr>
    <td>
        <select class="cate_sel></select> // 2차분류
    </td>
</tr>
<tr>
    <td>
        <select class="cate_sel></select> // 3차분류
    </td>
</tr>

 

ajax.php


<?php
$str = strlen($category_level);
 
if($str == 2){
    $sql = "select ca_name 
        from g5_shop_category 
        where ca_id 
        like '{$category_level}%'
        and length(ca_id) = 4
        order by ca_id asc";
    $str = 4;
} else if($str == 4){
    $sql = "select ca_name 
        from g5_shop_category 
        where ca_id 
        like '{$category_level}%'
        and length(ca_id) = 6
        order by ca_id asc";
}

$result = sql_query($sql);
if($row = 1){
    echo "<option>선택하세요</option>";
}
while($row=sql_fetch_array($result)){
    echo "<option>".$row['ca_name']."</option>";
}
?>

 

script


$('.cate_sel').change(function(){
    var code = $(this).val();
    var next_sel = $(this).closest('tr').next().find('select');
    $.ajax({
        type : "POST",
        url : "ajax.php",
        data : {
            category_level : code
        },
        success : function(){
            $(next_sel).html(data)
        },
    });
});

 

안녕하세요. 도움을 받아서 여기까지는 했습니다.

기본분류 선택시 2차분류가 변하는거까지는 됐습니다.

그런데 2차분류를 선택했을때 3차는 아무 변화도 없고 에러도 뜨지가 않습니다.

컬럼 사이즈는 1차분류가 2, 2차분류가 4, 3차분류는 6 입니다.

혹시 스크립트에서 문제가 되는게 있는건가요...?

제가 공부해야 하는게 맞고 어제부터 계속 보고 있는데 답이 안나와서 답답합니다ㅠ

도움 한번만 더 부탁드립니다...

이 질문에 댓글 쓰기 :

답변 1

이전 게시물에서 제가 드렸던 답변이 다 적용되지 않았네요. 'example.php 쿼리문에서 ca_id도 가져오도록 처리하고 ca_id를 option value에 포함시켜서 처리' 부분과 스크립트가 일부 누락됐습니다.

 


        $.ajax({
            type : "POST",
            url : "ajax.php",
            data : {
                category_level : code
            },
            success : function(data){
                $(next_sel).html(data);
            }
        });

 


if($str == 2){
    $sql = "select ca_name, ca_id
        from g5_shop_category 
        where ca_id 
        like '{$category_level}%'
        and length(ca_id) = 4
        order by ca_id asc";
    $str = 4;
} else if($str == 4){
    $sql = "select ca_name, ca_id
        from g5_shop_category 
        where ca_id 
        like '{$category_level}%'
        and length(ca_id) = 6
        order by ca_id asc";
}
$result = sql_query($sql);
if($row = 1){
    echo "<option>선택하세요</option>";
}
while($row=sql_fetch_array($result)){
    echo "<option value='".$row['ca_id']."'>".$row['ca_name']."</option>";
}

 

위 내용을 반영하시면 될겁니다.

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

회원로그인

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