私はオートコンプリートajaxクエリから返された提案をHTMLで表示しようとしています。私はこれのためのチュートリアルを見つけようとしましたが、実際にはどのようにデータがJSONからphpによってjqueryに送られ、次にHTMLに送られるかを説明していません。jquery autocomplete、HTMLに取り込む方法
PHP関数:
function autoCompany($keyword){
global $DBH;
$stmt = "SELECT companyID, companyName FROM Company WHERE companyName LIKE '%' ? '%'";
try{
$STH = $DBH->prepare($stmt);
$STH->bindParam(1, $keyword);
$STH->execute();
if($STH->RowCount() > 0){
$suggestions = array();
while($row = $STH->fetch()){
$suggestions[] = array(
"label" => $row['companyName'],
"value" => $row['companyID']
);
}
echo json_encode(array('suggestion' => $suggestions));
}else{
echo 'failed';
}
}catch(Exception $e){
echo $e->getMessage() . "autoCompany";
}
}
私は、データが正しくオーバー送信されている知っている:
suggestion: [{value:Test Company, data:1}, {value:Testing Test, data:4}]
0: {value:Test Company, data:1}
1: {value:Testing Test, data:4}
しかし、どのようにドロップダウンリストに出力したデータを得るのですか?
私のHTML:
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">AutoComplete</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input type="text" name="country" id="autocomplete" class="form-control col-md-10" style="float: left;" />
<div class="autocomplete-suggestions">
<div class="autocomplete-suggestion autocomplete-selected">...</div>
<div class="autocomplete-suggestion">...</div>
<div class="autocomplete-suggestion">...</div>
</div>
</div>
</div>
私のオートコンプリートjqueryの:それはそれはあなたがそうのようなあなたのJSONデータをマップする必要が独自に作成し、ドロップダウンを移入するためにあなたの領域が
$('#autocomplete').autocomplete({
serviceUrl: 'Admin/ajax.admin.php',
paramName: "autoCompany",
type: "POST",
dataType: "json",
onSelect: function (suggestion) {
alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
}success: function (data) {
response($.map(data.d, function (i) {
return {
//From Here to DDL?
}
}))
},
});
あなたのコードは機能しているか、それがどのように機能するかを知る必要がありますか? – Hackerman
ちょうど方法を知る必要があります。私のPHPが 'divs'に返す' JSON'からどうやって行くのか分かりません。 – WorkHardWork