2014-02-08 3 views
0

jquery-ajax를 사용하여 여러 depandant 드롭 다운을 표시합니다. 모든 일이 바로 가고 있지만 나는 그 가치가 aginst 선택한 드롭 다운, 그때 아이가 드롭 다운 자기 자신을 숨겨야합니다 때 문제가있다.하지만 내 코드에서 자체가 비어 있습니다. 내가 하나 (드롭 다운 데이터베이스에서 값이 온 경우에만 표시

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 

$("#parent_state").change(function() { 

$.get('loadsubcat.php?parent_state=' + $(this).val(), function(data) { 
$("#city").html(data); 


}); 
}); 

}); 
/script> 

<?php 
$con=mysql_connect('localhost' , '' , ''); 
if($con){ 
    mysql_select_db('test' , $con); 
    //echo "database selected"; 
} 
    ?> 
    <form method="post"> 
     <?php 
      $sql= "SELECT * FROM state"; 
      $rs= mysql_query($sql); 

      if(mysql_num_rows($rs) > 0){ 
       ?> 
       <select name="parent_state" id="parent_state"> 
       <option value""></option> 
       <?php 
       while($nrow=mysql_fetch_array($rs)){ 

     echo "<option value=".$nrow['state_id']. ">".$nrow['state_name']. "</option>";   

     } 
?> </select> 
      <?php 
     } 

     ?> 


    <select name="city" id="city"> 
    <option value=""></option> 
</select> 



</form> 

$parent_state = $_GET['parent_state']; 

$query = mysql_query("SELECT * FROM city WHERE state_id = {$parent_state}"); 
if(mysql_num_rows($query)>0){ 
while($row = mysql_fetch_array($query)) { 
echo "<option value=".$row['city_id']. ">".$row['city_name']. "</option>"; 
} 
} 

답변

0

당신이 다른 드롭 다운을 이동할 수 없습니다 loadsubcat.php입니다 .. 그 아이는 ..kindly 목록 숨기기 드롭 다운이 점에서 나를 도와 싶어 이름 = "도시"), if 조건 안에 있습니까? 이 경우 부모 드롭 다운이 존재하지 않으면 자식도 드롭 다운되지 않습니다. 이 같은

뭔가 -

... 
if(mysql_num_rows($rs) > 0){ 
    ?> 
    <select name="parent_state" id="parent_state"> 
     <option value""></option> 
     <?php 
      while($nrow=mysql_fetch_array($rs)){ 

      echo "<option value=".$nrow['state_id']. ">".$nrow['state_name']. "</option>";   

      } 
     ?> 
    </select> 
     //I've added the child select here. 
    <select name="city" id="city"> 
     <option value=""></option> 
    </select> 
<?php 
} 
?> 
... 
+0

내가했다 이미 .. 이것을 시도하지만, u는 다른 솔루션이있는 경우 다음 친절 .. – fahadrana

0

데이터 그런 식으로 전달하는 데 노력하고, 나뿐만 아니라 전에 $ 갔지 문제 했어이

<script type="text/javascript"> 
$(document).ready(function() { 

    $("#parent_state").change(function() { 
     $("#city").load('loadsubcat.php?parent_state=' + $(this).val()); 
     }); 
}); 
</script> 

에 스크립트를 변경해보십시오. $ .get 사용을 주장한다면 데이터를 json 형식으로 저장하고 매개 변수로 함수에 전달해야합니다. documentation

를 참조하지만,이 경우 내가 .load 적절한 대답

당신의 매개 변수를 갖는 공간 문제를 일으킬 것입니다주의해야 할 또 다른 것은 생각합니다. 이 다루는 안전한 방법은 .. 매개 변수, 즉 인코딩하는 것입니다

$("#parent_state").change(function() { 
     params = encodeURI($(this).val()); 
     $("#city").load('loadsubcat.php?parent_state=' + params); 
     }); 
+0

을 도와 .. 나를 위해 작동하지 않습니다 그것은 여전히 ​​나를 위해 작동하지 않습니다 : ( – fahadrana

+0

당신은 디버깅을 할 필요가있을거야, 그렇지 않으면 작동하지 않는가? – Bryan

관련 문제