gpt4 book ai didi

php - 如何使用 jQuery 在 PHP 中制作级联下拉列表

转载 作者:可可西里 更新时间:2023-11-01 00:25:54 25 4
gpt4 key购买 nike

我的数据库由国家和城市组成。

第一个案例 - 成功完成:

  1. 国家/地区列表在页面加载时填充到下拉框中
  2. 城市列表在页面加载时填充到下拉框中 - 填充的城市列表基于默认国家/地区。

第二种情况 - 无法成功:

  1. 用户更改国家/地区
  2. 城市列表将根据所选国家而改变

我知道我必须使用 jQuery/Ajax。我试过了,但由于缺乏编程经验,我无法解决我的问题。我的列表是从数据库而不是 XML 中获取的。我只需要一个快速的解决方案,我需要保持简单和愚蠢。

我使用的是常规的 PHP 编码风格,而不是面向对象的。

我该怎么做?任何相关资源将不胜感激。

最佳答案

$("#country").change(function(){
$('#city').find('option').remove().end(); //clear the city ddl
var country = $(this).find("option:selected").text();
alert(country);
//do the ajax call
$.ajax({
url:'getCity.php'
type:'GET',
data:{city:country},
dataType:'json',
cache:false,
success:function(data){

data=JSON.parse(data); //no need if dataType is set to json
var ddl = document.getElementById('city');

for(var c=0;c<obj.length;c++)
{
var option = document.createElement('option');
option.value = obj[c];
option.text = obj[c];
ddl.appendChild(option);
}


},
error:function(jxhr){
alert(jxhr.responseText);

}
});

});

在你的 getCity.php 中

$country = $_GET['city'];

//do the db query here

$query = "your query";
$result = mysql_query($query);
$temp = array();
while ($row = mysql_fetch_assoc($result)) {

if(empty($temp))
{
$temp=array($row['city']);
}
else
{
array_push($temp,$row['city']);
}

}
echo (json_encode($temp));

关于php - 如何使用 jQuery 在 PHP 中制作级联下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6857287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com