內置對象數組我有一個MySQL表所示:JQuery的自動完成與PHP + MySQL的
name | id
John | 1
Mike | 2
Kelly | 3
jQuery中,我能夠在彈出的列表中使用自動完成顯示「姓名」,而插入在輸入「ID」:
var names=[
{label:"John", value:1},
{label:"Mike", value:2},
{label:"Kelly", value:3}
];
$('#myDiv').autocomplete({
source: names
})
這工作正常,但現在我需要重現使用PHP的對象「名稱」的數組。我想在PHP中的以下內容:
$sql ="SELECT id, nome FROM table";
$result = $pdo->query($sql);
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
$output=array();;
foreach($rows as $key){
array_push($output, array($key{"nome"}=>intval($key{"id"})));
};
echo json_encode($output);
這是返回:
[{"John":1},{"Mike":2},{"Kelly":3}]
jQuery中,我現在使用Ajax調用myscript.php:
var names= [];
$.ajax({
url: "../myscript.php",
success: function (response) {
names = response.split(",");
}
});
但這只是在單元格中顯示相同的結果:
[{"John":1},{"Mike":2},{"Kelly":3}]
因此,我猜想這個解決方案是爲PHP中的每個對象添加標籤和值,或者可以解決問題的方法是什麼?
在此先感謝您的幫助!
敢肯定你只需要在「標籤」和「值」添加到PHP的對象,那應該返回你正確格式化的值。 – Mordred
此外,爲了更容易處理json content-type,請使用$ .getJSON而不是$ .ajax。請參閱http://api.jquery.com/jquery.getjson/ – Jojo
@Mordred我只是想,但它不工作,你會粘貼一個示例代碼來替換:array_push($ output,array($ key { 「諾姆」} => INTVAL($鍵{ 「ID」}))); –