Php 我需要帮助完成这个3级动态下拉列表

Php 我需要帮助完成这个3级动态下拉列表,php,mysql,ajax,dynamic,location,Php,Mysql,Ajax,Dynamic,Location,我知道在这个主题上还有很多其他的话题。我的代码基于其中一个。它工作得很好。唯一的问题是它是一个2级下拉列表。我需要添加另一个下拉列表,以便我可以完成我的国家、地区、城市列表 <label for="cat">Cities</label> <div id="citydiv"> <select name="city" id="city"> <option>--Select State--</option>

我知道在这个主题上还有很多其他的话题。我的代码基于其中一个。它工作得很好。唯一的问题是它是一个2级下拉列表。我需要添加另一个下拉列表,以便我可以完成我的国家、地区、城市列表

<label for="cat">Cities</label>
<div id="citydiv">
    <select name="city" id="city">
    <option>--Select State--</option>
    <option></option>
</div>
如果你能看看我的代码,并建议我如何添加第三个下拉城市,那就太好了

<label for="cat">Cities</label>
<div id="citydiv">
    <select name="city" id="city">
    <option>--Select State--</option>
    <option></option>
</div>
index.php

<label for="cat">Cities</label>
<div id="citydiv">
    <select name="city" id="city">
    <option>--Select State--</option>
    <option></option>
</div>
ajax.php

<label for="cat">Cities</label>
<div id="citydiv">
    <select name="city" id="city">
    <option>--Select State--</option>
    <option></option>
</div>

那我真的不明白你的问题是什么?你基本上是在问,你现在又在为城市地区做什么

<label for="cat">Cities</label>
<div id="citydiv">
    <select name="city" id="city">
    <option>--Select State--</option>
    <option></option>
</div>
与创建cityAjax.php类似:

<?php require_once 'core/init.php';

$region_id  =  escape(Input::get('region'));

$select_city = DB::getInstance()->get('citys', array('regionId', '=', $region_id));

    if(!$select_city->count()) {

        echo 'No City found!';

    } else {

    ?><select name="city" id="city"><?php   

        foreach($select_city->results() as $row) {

            $city_id          =   escape($row->cityId);
            $city_name        =   escape($row->cityName);

        ?><option value="<?php echo $city_id; ?>" ><?php echo $city_name; ?></option><?php

        }
    ?></select><?php        
    }
<label for="cat">Cities</label>
<div id="citydiv">
    <select name="city" id="city">
    <option>--Select State--</option>
    <option></option>
</div>
: -最后但并非最不重要的一点是,您需要扩展现有的ajax.php代码,以便在选择区域时调用新的javascript函数:

<label for="cat">Cities</label>
<div id="citydiv">
    <select name="city" id="city">
    <option>--Select State--</option>
    <option></option>
</div>
...
?><select name="region" id="region" onChange="showCity(this.value);" required><?php   

        foreach($select_region->results() as $row) {

            $region_id          =   escape($row->regionId);
            $region_name        =   escape($row->regionName);

        ?><option value="<?php echo $region_id; ?>" ><?php echo $region_name; ?></option><?php

        }
?></select><?php 
...

希望这有点帮助

您将从哪里获取城市数据?从mysql表中获取,与国家和地区相同。您能否更具体地描述一下这个城市表的外观?有与之关联的区域id吗^^这帮了大忙。非常感谢你!你完全明白我想问的。对于阅读本文的其他人,我唯一想补充的是index.php上的regiondiv和citydiv中没有任何标记。只能在ajax.php中使用它们。这就是它不起作用的原因之一。但现在它100%起作用了。
<label for="cat">Cities</label>
<div id="citydiv">
    <select name="city" id="city">
    <option>--Select State--</option>
    <option></option>
</div>