我已经搜索了与此相关的问题,但其中大多数与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 )) –