Php ajax下拉列表(国家、州、城市)

Php ajax下拉列表(国家、州、城市),php,ajax,Php,Ajax,我需要一些ajax代码来使用下拉菜单执行一些函数 我有三个价值表,一个是国家,然后是州和城市 我有三个下拉列表来显示这些值 首先,它应该表现出来 选择国家 选择状态 选择城市 在该下拉列表(slect)中分别显示 当我从第一个下拉列表中选择美国时 在第二个下拉列表中,它必须显示美国的各个州 当我从“状态”下拉列表中选择一个状态时 它必须在第三个下拉列表中显示该州的城市(城市) 我想用ajax实现这一点 任何人都可以有一个代码来做这件事 请帮帮我 谢谢可以通过很多方式来实现 在第一个下拉菜单上添加

我需要一些ajax代码来使用下拉菜单执行一些函数

我有三个价值表,一个是国家,然后是州和城市

我有三个下拉列表来显示这些值

首先,它应该表现出来

选择国家

选择状态

选择城市

在该下拉列表(slect)中分别显示

当我从第一个下拉列表中选择美国时

在第二个下拉列表中,它必须显示美国的各个州

当我从“状态”下拉列表中选择一个状态时

它必须在第三个下拉列表中显示该州的城市(城市)

我想用ajax实现这一点

任何人都可以有一个代码来做这件事

请帮帮我


谢谢

可以通过很多方式来实现

  • 在第一个下拉菜单上添加更改事件 那么,您计划如何检索与第一个菜单相关的状态,以及与第二个菜单相关的cityes

    它们在数据库中吗?还是在js数组(json?)中

    如果它们在数据库中,请使用ajax请求。。否则,请使用数组

    有这么多的插件和如何为这一步,谷歌一点

    编辑:谁删除了
    请给我发送代码
    标签

    1)在db中创建3个表

    country table
    ==============
    countryId || countryName
    
    stateTable
    =============
    stateId || stateName || countryName
    
    city table
    =============
    cityId || cityName || stateId
    
    2) 现在创建3个Web服务 它以json格式发送数据

    3) 现在进入html页面
    在每个选择框上创建三个选择框并绑定onchange事件(城市选择除外),该事件将发送getStates webservice的countryId和getCities webservice的stateId。在州选择框中绑定接收到的json状态,在城市选择框中绑定城市这是一个非常古老的项目,所以我是通过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>
    
    类型
    全部的
    家园
    阴谋
    商业的
    
    这是propertyType的js

    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();
       }
     }
    
    函数属性类型(str){
    如果(str=''| | str=='plots'){
    document.getElementById(“type_h”).innerHTML=“”;
    document.getElementById(“bed”).innerHTML=“”;
    }   
    否则如果(str=='commercial'){
    document.getElementById(“bed”).innerHTML=“”;
    }
    否则{
    document.getElementById(“type_h”).innerHTML=“ajax loader small.gif'/>”;
    if(window.XMLHttpRequest){
    xmlhttp=新的XMLHttpRequest();
    }
    其他的
    {
    xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
    }
    xmlhttp.onreadystatechange=函数()
    {
    if(xmlhttp.readyState==4&&xmlhttp.status==200)
    {
    document.getElementById(“type_h”).innerHTML=xmlhttp.responseText;
    }
    }
    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();
     }
    
    功能ajax\u床(str){
    document.getElementById(“bed”).innerHTML=“ajax loader small.gif'/>”;
    if(window.XMLHttpRequest){
    xmlhttp=新的XMLHttpRequest();
    }
    其他的
    {
    xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
    }
    xmlhttp.onreadystatechange=函数()
    {
    if(xmlhttp.readyState==4&&xmlhttp.status==200)
    {
    document.getElementById(“bed”).innerHTML=xmlhttp.responseText;
    }
    }
    open(“GET”,“ajax/beddroomsselection.php?t=“+str,true”);
    xmlhttp.send();
    }
    
    这是beddroomsSelection.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
     }
    ?>
    
    
    没有一个
    单人床
    双人床
    三张床
    四张床
    五张床
    六张床
    七张床
    八张床
    十张床
    十余张床
    
    我希望您现在已经有了想法,是时候自己编写代码了
    干杯

    嘿,我知道这一点,但我不知道这一点的ajax函数方法。在谷歌上搜索XMLHttpRequest可能与的完全相同