다단분류 질문있습니다. 채택완료
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 포인트
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년 전
아뇨; 죄송하다고 하실 필요까진;; 모르면 질문을 남길 수 있는거니까요. 제대로 동작하니 다행이네요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
적용 잘 되고 보여주신 소스 보면서 공부할게요 감사합니다 ^^