Chang
347
2019-02-10 20:33:11 작성 2019-02-10 20:51:46 수정됨
8
775

php db 연동 셀렉트 박스 질문을 드립니다.


php를 배우는 초보입니다. 스스로 해결하려고 노력했지만 해결이 안되서 질문드립니다.

구글링으로 db연동 4단 셀렉트 박스라는 소스를 찾아서 테스트를 하는데 오류가 발생합니다.

<script type="text/javascript">
//-----------------------1단-----------------------------    
    function update_cate1()
    {
        var cateval = $('#sel1').val();
        $.get('get_cate.php?cateval=' + cateval,show_cates1);
    }
    function show_cates1(res){
    $('#catetd2').html(res);
    $('#catetd3').html("");
    $('#catetd4').html("");
    }
//-----------------------1단-----------------------------
//-----------------------2단-----------------------------
    function update_cate2()
    {
        var cateval = $('#sel2').attr('value');
        $.get('get_cate2.php?cateval=' + cateval,show_cates2);
    }
    function show_cates2(res2){
    $('#catetd3').html(res2);
    $('#catetd4').html("");
    }
//-----------------------2단-----------------------------
//-----------------------3단-----------------------------
function update_cate3()
    {
        var cateval = $('#sel3').attr('value');
        $.get('get_cate3.php?cateval=' + cateval,show_cates3);
    }
    function show_cates3(res3){
    $('#catetd4').html(res3);
    }
//-----------------------3단-----------------------------
</script>
<form id="fm" name="fm" method="get" action="list.php">
	<table border="0" cellpadding="0" cellspacing="0">
	<tbody>
	<tr>
		<td>
			<select name="sel1" id="sel1" onchange="update_cate1()" style="width:140px;">
				<option value="">:: 전체 ::</option>
				<option value="66">축구</option>
				<option value="67">농구</option>
				<option value="68">아이스 하키</option>
				<option value="70">야구</option>
				<option value="72">배구</option>
				<option value="85">미식축구</option>
			</select>
		</td>
		<td id="catetd2" name="catetd2" style="padding-left:3px;">
			<!--sel2 셀렉트박스 들어옴-->
		</td>
	</tr>
	<tr>
		<td id="catetd3" name="catetd3" style="padding-top:5px;">
			<!--sel3 셀렉트박스 들어옴-->
		</td>
		<td id="catetd4" name="catetd4" style="padding-top:5px;padding-left:3px;">
			<!--sel4 셀렉트박스 들어옴-->
		</td>
	</tr>
	</tbody>
	</table>
</form>
 셀렉트박스에서 원하는 것을 선택하면 
    function update_cate1()
    {
        var cateval = $('#sel1').attr('value');
        $.get('get_cate.php?cateval=' + cateval,show_cates1);
         
    }
 
    function show_cates1(res){
    $('#catetd2').html(res);
    $('#catetd3').html("");
    $('#catetd4').html("");
 
    }

$('#sel1').attr('value');

이 부분에서 오류가 발생하는데 도대체 외 그런걸까요?..


0
0
  • 답변 8

  • Dev.kerberos
    85
    2019-02-10 20:38:31

    $('#sel1').val();

    이렇게 갖고와보시면..?

    0
  • Chang
    347
    2019-02-10 20:52:22

    $('#sel1').val(); 

    해봤지만 같은 오류가 발생하네요.. ㅠㅠ

    0
  • Dev.kerberos
    85
    2019-02-10 20:57:23 작성 2019-02-10 20:58:37 수정됨

    저거 update_cate1() 함수에서 value자체가 많은데 원하는걸 갖고오시려고하시는거면 $('#sel1').val(66); 이런식으로해서 해당번호를 갖고오도록하셔야할거같은데요 원하는 셀렉트 박스선택한걸 변수로저장하고 그걸저기 $('#sel1').val(); 이안에 값으로 넣으셔야 될거같은데요 그래야 2번이든 하위가나올거같은데.. 저랑비슷한거 하시네요... 좀 다른방법이지만..

    0
  • Chang
    347
    2019-02-10 21:00:26

    네.. 답변 감사합니다..

    0
  • 나도아빠다
    2k
    2019-02-10 21:22:41

    스크립트위치를 폼뒤로 옮기시거나 document ready안으로 넣어주시면..?

    0
  • Chang
    347
    2019-02-10 22:26:08


    $(document).ready(function() {
        function update_cate1()
        {
            var cateval = $('#sel1').attr('value');
            $.get('get_cate.php?cateval=' + cateval,show_cates1);
             
        }
    ......

    이런식으로 했더니 이제는 

    <select name="sel1" id="sel1" onchange="update_cate1()" style="width:140px;">

    에러가 발생하네요.. 

    0
  • 나도아빠다
    2k
    2019-02-10 23:53:31

    Document ready에 넣으실때는 이벤트를 onclick으로 주지마시고

     $(이벤트걸릴 셀렉트).change(function(){실행할 함수})


    로 걸어주세요..

    로딩타임문제 아닌가 싶네요

    0
  • Chang
    347
    2019-02-11 00:29:30

    네 감사합니다.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.