好的,所以我正在使用 jQuery 自动完成功能来处理我在美国的位置和州的数据库,目标是用户开始输入城市、城镇等,然后我显示城市(我的数据库中的位置)、州(我的地区) DB)邮编(我的数据库中的邮政编码)给他们,当他们选择一个时,它会填写城市州和邮政编码字段。我的问题是,当我选择一个选项时,州和邮政编码正确填写,但是城市字段需要邮政编码的价值,我想不出来。。这是我的 JS 代码,后面是单独的 PHP 文件,用于提取我的数据库数据。我在 PHP 方面比 JS 更有经验,但你永远不知道你在哪里会犯错...
JS/jQuery 文件:
$(document).ready(function(){
var ac_config = {
source: "autocomplete-l.php",
select: function(event, ui){
$("#scity").val(ui.item.location);
$("#sstate").val(ui.item.region);
$("#szip").val(ui.item.postalCode);
},
minLength:1
};
$("#scity").autocomplete(ac_config);
});
和 PHP 文件:
$cities = array();
$sth = $dbh->prepare("SELECT * FROM locations WHERE country = 'US'");
$sth->execute();
while($row = $sth->fetch(PDO::FETCH_ASSOC)) {
$cities[]=$row;
}
$term = trim(strip_tags($_GET['term']));
$matches = array();
foreach($cities as $city){
if((stripos($city['location'], $term) !== false)){
// Add the necessary "value" and "label" fields and append to result set
$city['value'] = $city['location'];
$city['value'] = $city['region'];
$city['value'] = $city['postalCode'];
$city['label'] = "{$city['location']}, {$city['region']}{$city['postalCode']}";
$matches[] = $city;
}
}
$matches = array_slice($matches, 0, 100);
print json_encode($matches);