我的任务是为WordPress页面创建动态的排序列表。我将有一个国家/地区列表,然后当选择一个国家/地区时,下一个列表将填充该国家/地区的州,然后是下一个菜单,其中包含该州的城市。
我一直无法找到明确的解决方案,搜索范围广泛。
有没有人知道如何实现这个,或者我可以在插件中找到它?
感谢。
答案 0 :(得分:2)
太麻烦了....
这里...
function datak()
{
$url = 'http://api.sba.gov/geodata/city_links_for_state_of/tx.json';
$crl = curl_init($url);
curl_setopt($crl, CURLOPT_HEADER, 0);
curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1);
$rtn = curl_exec($crl);
$srn = json_decode($rtn);
$nmb=0;
echo "<select name='state' id='state'><option value='-1'>Choose a state</option>";
while( $nmb < count($srn) ) {
echo '<option value="' . $srn[$nmb]->name . '">' . $srn[$nmb]->name . ' - ' . $srn[$nmb]->primary_longitude . ' - ' . $srn[$nmb]->primary_latitude . "</option>" ;
$nmb++;
}
echo "</select>";
curl_close($crl);
}
需要一些清理和订购 - 有重复条目。更改url中的状态前缀,如果需要,可以将文件类型设置为xml,但是必须重新编写该过程。
让其他人进行数据保存。 只需向用户提供内容即可。
得到here。
希望这会有所帮助。 ISME
答案 1 :(得分:0)
我不知道有任何你需要的插件,但是如果我是从头开始亲自构建它,我会首先查看填充数据库的This Information,其中包含每个插件的所有信息。城市。
信息的组织如下:
---------------------------------------------------------------------------------
| Country | State | Province | City | Latitude | Longitude |
---------------------------------------------------------------------------------
每个城市都是数据库中自己的行。纬度和经度是可选的,但建议使用。
在此之后,使用AJAX来动态填充下拉列表就可以了。基本上,您可以使用jQuery(建议用于此任务,因为我们不想重新发明轮子)将GET或POST请求传递给单独的PHP脚本。这个文件将运行一个SQL查询(请确保避免使用mysql_ *函数,因为它们已被弃用。请查看PDO以获得更好的替代方法)并检查传递给它的数据库。< / p>
我建议使用一些基本信息填充数据库。或许可以通过一些国家和城市进行设置,然后查看我给你的资源,以获得可靠的概念证据。
如果您遇到任何绊脚石,请随时打开另一个问题,以便我们为您提供帮助。
祝你好运。答案 2 :(得分:0)
我找到了一种简单的方法来显示世界上的国家/地区城市列表。只需将以下HTML和javascript添加到您的模板
即可<select name="country" class="countries" id="countryId">
<option value="">Select Country</option>
</select>
<select name="state" class="states" id="stateId">
<option value="">Select State</option>
</select>
<select name="city" class="cities" id="cityId">
<option value="">Select City</option>
</select>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://lab.iamrohit.in/js/location.js"></script>
https://github.com/hiiamrohit/Countries-States-Cities-database
答案 3 :(得分:-1)