我对以下问题感到有点困惑。
在我目前基于网络的应用程序中,我有两个下拉列表。
<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的州名。
请建议我。
答案 0 :(得分: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;
?>
我没有测试过这段代码,所以可能会出现一些愚蠢的错误,所以要小心。
答案 1 :(得分:0)
使用以下帖子尝试此操作: