我已經搜索了與此相關的問題,但其中大多數與jquery ui有關,我沒有使用,其餘與我的問題無關。使用自動完成功能返回多個值
我正在使用this autocomplete plugin [不是UI],而是通過SQL返回多個值。我想僅顯示一個值作爲正在工作的自動完成,但當用戶單擊該建議時我想使用其他兩個值 - 它應該使用其他值重定向到另一個頁面。
例如:我有數據返回:ABC 001 55
。 ABC應顯示爲列表中的建議值,但是當用戶點擊ABC
,必須在本頁面與其他兩個值重定向:page/001/55/
這是我有到現在的代碼,並同時建議拿出正確[data[0]
]我試圖使用和data[2]
通過其它兩個數據,但這將引發一個未定義的錯誤:
PHP:
foreach ($items as $item) {
$value = $item['ABC'];
$noID = $item['NoID'];
$cID = $item['cID'];
echo $value . "\n";
}
JQUERY:
$('#f').autocomplete('redirect.php', {
width: 500,
max: 15,
highlight: function(match, keywords) {
keywords = keywords.split(' ').join('|');
return match.replace(new RegExp("("+keywords+")", "gi"),'<b>$1</b>');
},
formatItem: function(data) {
return data[0];
}
}).result(function(event, data) {
if (data) {
//var noID = data[1];
//var cID = data[2];
//location.href = "anotherpage.php?s=" +noID+ "/" +cID;
alert(data[0] + data[1] + data[2]); // <- data 1 and 2 are shown as undefined.
}
});
我對PHP很熟悉,但你似乎只輸出$ value:'echo $ value。 「\ n」'。 –
即使我回應其他兩個值,它仍然會顯示「undefined」錯誤。 – input
查看插件的源代碼,數據分隔符是'|',所以你應該有'echo'$ value | $ noID | $ cID \ n「;'(編輯:我不熟悉phph:o )) –