Copy
<select name="qa_1" onChange="javascript:selectEvent(this)" id="qa_1" required class="required" ><option value="">카테고리 선택1</option> <?php echo $cate_option ?> </select> <select name="qa_2" id="qa_2" required class="required" > <option value="">카테고리 선택2</option> <?php echo $it_option ?> </select>
write.skin.php 중에 select 해서 만드는 중인데 select onchange 이벤트로 넣어서 $write['qa_1']카테고리 1의 value값이 날아가서 카테고리의 값이 $write['qa_1']의 기준으로 이중 셀렉트를 만들고싶은데.....
Copy
//카테고리 1 } $catesql = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where length(ca_id) = '2' and ca_use = '1' order by ca_order, ca_id "; $cateresult = sql_query($catesql); $cate_option=''; for ($i=0; $row=sql_fetch_array($cateresult); $i++){ $sql2 = " select ca_id, ca_name from {$g5['g5_shop_category_table']} where LENGTH(ca_id) = '4' and SUBSTRING(ca_id,1,2) = '{$row['ca_id']}' and ca_use = '1' order by ca_order, ca_id "; $result2 = sql_query($sql2); $count = mysql_num_rows($result2); for ($j=0; $row2=sql_fetch_array($result2); $j++){ $cate_option .= option_selected($row2['ca_id'], $write['qa_1'], $row2['ca_name']); } } // 카테고리2$row23 = sql_query(" select it_id, it_name from {$g5['g5_shop_item_table']} where ca_id2 = '여기에 값이 들어가야되는데' and it_use = '1' "); for ($i=0;$rowa=sql_fetch_array($row23); $i++){ $it_option .= option_selected($rowa['it_name'], $write['qa_2'], $rowa['it_name']); }
어떻게 해야할까요? 자바스크립트 쓰면되는거도아는데 방법을 몰라요. 왕초보라..ㅠㅠㅠ
ajax로 작없하는건 알겠는데...ajax에 대한 지식이 너무 없어서.ㅠㅠㅠ
답변 2개 / 댓글 1개
채택된 답변
+20 포인트
2015-06-29 (월) 11:39:25
Copy
function change_step(param1) { $.ajax({ url:'./select2.php', type:'post', data:{"param1":param1}, success:function(data){ $("#qa_2").html(''); $("#qa_2").html(data); } }); }
형태로 하시면 될거같습니다.
select2.php 에서는 onchange 에서 선택된 파라미터를 받아서
해당 조건으로 쿼리해서 결과를 뿌려주면 되겠네요.
2015-06-24 (수) 16:37:34
셀렉트1에서 onchange 이벤트 발생시
$.ajax 로 해당 파라미터를 보냅니다.
해당 파라미터로 쿼리 합니다.
해당 파라미터로 쿼리한 값을 echo 로 찍어줍니다. xml 이나 json 으로 해도 되고 그냥
<option value='1'>값1</option>
<option value='2'>값2</option>
이런형태로 나오도록 하고 그 값을
$.ajax 의 complete 시 두번째 셀렉트에 넣어주면 될거같습니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.