2012-08-22 125 views
1

我對以下問題感到困惑。使用之前的下拉列表onchange事件更改下一個下拉值

在我目前的基於Web的應用程序中,我有兩個下拉菜單。

<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> 

現在我需要做的是,當過我是從國家選擇印度則第二個下拉應顯示所有的印度政府,當我選擇中國,它應該顯示所有中國國家在第二下拉。

我使用給國家和國家兩個表以下字段

表的國家,列: COUNTRY_ID,COUNTRY_NAME

與coulmn表狀態: STATE_ID,COUNTRY_ID,STATE_NAME

我在狀態表中存儲基於country_id的州名。

請建議我。

回答

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;  

?> 

我沒有測試此代碼,所以可能會有一些愚蠢的錯誤,以便採取照顧它。

+0

感謝很多mihir ..我試試 –

+1

希望它有幫助....投票它,如果它幫助:) –

相關問題