테스트 사이트 - 개발 중인 베타 버전입니다

다단분류 질문있습니다. 채택완료

museplay 6년 전 조회 1,872

item.php

</p>

<p><tr></p>

<p>    <td></p>

<p>        <select class="cate_sel></select> // 기본분류</p>

<p>    </td></p>

<p></tr></p>

<p><tr></p>

<p>    <td></p>

<p>        <select class="cate_sel></select> // 2차분류</p>

<p>    </td></p>

<p></tr></p>

<p><tr></p>

<p>    <td></p>

<p>        <select class="cate_sel></select> // 3차분류</p>

<p>    </td></p>

<p></tr></p>

<p>

 

ajax.php

</p>

<p><?php</p>

<p>$str = strlen($category_level);</p>

<p> </p>

<p>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";

}</p>

<p>

$result = sql_query($sql);</p>

<p>if($row = 1){

    echo "<option>선택하세요</option>";

}</p>

<p>while($row=sql_fetch_array($result)){

    echo "<option>".$row['ca_name']."</option>";</p>

<p>}</p>

<p>?></p>

<p>

 

script

</p>

<p>$('.cate_sel').change(function(){</p>

<p>    var code = $(this).val();</p>

<p>    var next_sel = $(this).closest('tr').next().find('select');</p>

<p>    $.ajax({</p>

<p>        type : "POST",</p>

<p>        url : "ajax.php",</p>

<p>        data : {</p>

<p>            category_level : code</p>

<p>        },</p>

<p>        success : function(){</p>

<p>            $(next_sel).html(data)</p>

<p>        },</p>

<p>    });</p>

<p>});</p>

<p>

 

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

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

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

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

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

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

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

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
SLOOP
6년 전

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

 

</p>

<p>        $.ajax({

            type : "POST",

            url : "ajax.php",

            data : {

                category_level : code

            },

            success : function(<span style="color:#e74c3c;">data</span>){

                $(next_sel).html(data);

            }

        });</p>

<p>

 

</p>

<p>if($str == 2){

    $sql = "select ca_name, <span style="color:#e74c3c;">ca_id</span>

        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, <span style="color:#e74c3c;">ca_id</span>

        from g5_shop_category 

        where ca_id 

        like '{$category_level}%'

        and length(ca_id) = 6

        order by ca_id asc";

}</p>

<p>$result = sql_query($sql);

if($row = 1){

    echo "<option>선택하세요</option>";

}

while($row=sql_fetch_array($result)){

    echo "<option <span style="color:#e74c3c;">value='".$row['ca_id']."'</span>>".$row['ca_name']."</option>";

}</p>

<p>

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

m
museplay
6년 전
같은 내용으로 번거롭게 해드려서 죄송합니다...
적용 잘 되고 보여주신 소스 보면서 공부할게요 감사합니다 ^^
S
SLOOP
6년 전
아뇨; 죄송하다고 하실 필요까진;; 모르면 질문을 남길 수 있는거니까요. 제대로 동작하니 다행이네요.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인