我需要一些ajax代码才能通过下拉来执行某些功能。
我有三个值表,一个用于国家,然后是州和城市。
我有三个下拉列表来显示这些值
首先它应该显示
选择国家/地区
选择州
选择城市
分别在那个下拉(选择)中。
当我从第一个下拉列表中选择美国时
在第二次下拉中,它必须显示美国的状态。
并且当我从州下拉列表中选择一个州时
它必须在第三个下拉列表(城市)中显示该州的城市
我想用ajax做到这一点。
任何人都可以使用代码来执行此操作。
请帮帮我。
由于
答案 0 :(得分:2)
1)在db
中创建3个表country table
==============
countryId || countryName
stateTable
=============
stateId || stateName || countryName
city table
=============
cityId || cityName || stateId
2)现在创建3个webservices 以json格式发送数据
3)现在在html页面上 在每个选择框上创建三个选择框并绑定onchange事件(城市选择除外),该事件将为getStates Webservcie发送countryId,为getCities webservice发送stateId。并在州选择框和城市选择框中的城市中绑定收到的json状态
答案 1 :(得分:0)
可以用很多方式完成......
那么,您打算如何检索与第一个菜单相关的状态,以及与第二个菜单相关的城市?
他们在数据库中吗?或者在js数组(json?)?
如果它们在数据库中,请使用ajax请求..否则,使用数组。
这个版本有很多插件和方法,谷歌有点
修改:谁删除了plz-send-me-teh-code
代码?!
答案 2 :(得分:0)
这是一个非常古老的项目,所以我通过Javascript而不是jQuery来做到这一点;我希望这没关系。
<td>Type</td>
<td>
<select id="type" onChange="propertyType(this.value)" name="type">
<option value="">All</option>
<option value="homes">Homes</option>
<option value="plots">Plots</option>
<option value="commercial">Commercial</option>
</select>
</td>
这是js of propertyType
function propertyType(str){
if(str=='' || str=='plots'){
document.getElementById("type_h").innerHTML="";
document.getElementById("bed").innerHTML="";
}
else if(str=='commercial'){
document.getElementById("bed").innerHTML="";
}
else{
document.getElementById("type_h").innerHTML="<img src='<?php echo $serverimageurl?>ajax-loader-small.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("type_h").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax/propertytype.php?s="+str,true);
xmlhttp.send();
}
}
这是propertytype.php
<?php
$s=$_GET["s"];
if($s=="homes"){
?>
<select onchange="ajax_bed(this.value)" name="subtype" id="subtype" >
<option value="">Type Of Houses</option>
<option value="houses">Houses</option>
<option value="flats">Flats</option>
<option value="farmhouses">Farm Houses</option>
</select>
<?php
}
if($s=="plots")
{
?>
<?php
}
if($s=="commercial")
{
?>
<select name="subtype" id="subtype" >
<option value="offices">Offices</option>
<option value="shops">Shops</option>
<option value="warehouses">Warehouses</option>
<option value="factories">Factories</option>
<option value="building">Buildings</option>
<option value="other">Other</option>
</select>
<?php
}
?>
这是用于选择卧室数量的ajax功能
function ajax_bed(str){
document.getElementById("bed").innerHTML="<img src='<?php echo $serverimageurl?>ajax-loader-small.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("bed").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax/bedroomsselection.php?t="+str,true);
xmlhttp.send();
}
这是bedroomselection.php
<?php
$t=$_GET["t"];
if($t=="houses"||$t=="flats"||$t=="farmhouses")
{
?>
<select id="bed" name="bed">
<option>None</option>
<option>Single Bed</option>
<option>Double Bed</option>
<option>three Bed</option>
<option>Four Bed</option>
<option>Five Bed</option>
<option>Six Bed</option>
<option>Seven Bed</option>
<option>Eight Bed</option>
<option>Ten Bed</option>
<option>More Than Ten Bed</option>
</select>
<?php
}
?>
我希望你现在有了自己编写代码的时间 干杯