1

次の問題で少し混乱しています。

私の現在の Web ベースのアプリケーションでは、2 つのドロップダウンがあります。

 <select  name="country">
        <option value="">All</option>
        <option value="">India</option>
        <option value="">China</option>
 </select>

 <select  name="state">
        <option value="">All</option>
        <option value="">state1</option>
        <option value="">state2</option>
 </select>

今私がする必要があるのは、国からインドを選択すると、2 番目のドロップダウンにすべてのインドの州が表示され、中国を選択すると、2 番目のドロップダウンにすべての中国の州が表示されるはずです。

次のフィールドを持つ国と州の両方に2つのテーブルを使用しています

列を持つテーブル国: country_id、country_name

coulmn を含む表の状態: state_id、country_id、state_name

州テーブルにcountry_idに基づいて州名を保存しています。

私に提案してください。

4

2 に答える 2

2
<td>Country</td>
<td>
      <select  id="country" onChange="getState(this.value)" name="country">
                            <option value="">All</option>
                            <option value="1">India</option>
                            <option value="2">China</option>

      </select>
</td>


function getState(str){
  if(str=='All'){
    document.getElementById("state").innerHTML="";     
  }else{
    document.getElementById("state").innerHTML="<img src='<?php echo $serverimage?>ajax-loader.gif' />";
        if(window.XMLHttpRequest){
            xmlhttp=new XMLHttpRequest();
    }
    else
    {
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.onreadystatechange=function()
    {
            if(xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                document.getElementById("state").innerHTML=xmlhttp.responseText;
            }
    }
    xmlhttp.open("GET","state.php?countryid="+str,true);
    xmlhttp.send();
   }//ELSE ENDS
}//FUNCTION ENDS

//State.php

<?php
  $country=$_GET["country"];  
  /*
    code to fetch all states from database with $country and fetch in variable $states
    Fetch records based on value passed in country dropw down. ie id or countryname 
  */
    echo '<select name="state" id="state">';
   foreach($states as $state)                
     echo '<option value="'.$state.'">'.$state.'</option>';            

   echo '<option value="Other">Other</option>'; 
   echo '</select>';
   exit;    

?>

私はこのコードをテストしていないので、ばかげた間違いがあるかもしれませんので、気をつけてください。

于 2012-08-22T07:03:26.623 に答える
0

次の投稿を使用してこれを試してください。

チェーン化された Ajax は jQuery を選択

于 2012-08-22T06:21:55.163 に答える