当前正在实现jQuery自动完成功能,数据已从php文件传回并填充字段,但自动完成功能下拉菜单中没有任何文本。您可以选择条目
好像结果文本没有被传回?
try {
$stmt = $db->prepare('SELECT id, firstname, surname, department, email FROM users WHERE firstname LIKE :term');
$stmt->execute(array('term' => '%'.$_GET['term'].'%'));
while($row = $stmt->fetch()) {
$row_array['id'] = $row['id'];
$row_array['firstname'] = $row['firstname'];
$row_array['surname'] = $row['surname'];
$row_array['email'] = $row['email'];
$row_array['department'] = $row['department'];
$return_arr[] = $row_array;
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
/* Toss back results as json encoded array. */
echo json_encode($return_arr);
}
//jQuery
$(document).ready(function() {
$(".auto").autocomplete({
source: "search.php",
minLength: 1,
datatype: 'json',
select: function( event, ui ) {
$('#firstname').val(ui.item.firstname)
$('#surname').val(ui.item.surname);
$('#department').val(ui.item.department);
$('#email').val(ui.item.email);
$('#hidden').val(ui.item.id);
}
});
});
如文档中所述,以最简单的形式,您的JSON响应可以是和字符串数组:
[ "Choice1", "Choice2" ]
它也可以是包含标签和要在自动完成字段中显示的值的对象数组,例如:
[ { label: "Choice1", value: "value1" }, ... ]
实际上,JQuery UI自动完成插件无法处理您要返回的数据的结构。
请参阅此处的详细文档:http : //api.jqueryui.com/autocomplete/#option-source
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句