さて、私はjQueryオートコンプリートを使用して、米国の場所と州のデータベースを操作しています。目標は、ユーザーが都市、町などを入力し始めることであり、都市(DBの場所)、州(私のDBの地域)を表示しますDB)Zip(私のDBの郵便番号)をそれらに送信し、それらを選択すると、都市の州と郵便番号のフィールドが入力されます..私の問題は、オプションを選択すると、州と郵便番号が正しく入力されることですが、都市のフィールドは郵便番号の値と私はそれを理解することはできません..これが私のJSコードであり、その後に私のDBデータを取り込む別のPHPファイルがあります..私はJSよりもPHPの経験が豊富ですが、あなたがどこにいるのかわかりません間違えちゃう…
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);