【发布时间】:2015-08-09 16:38:10
【问题描述】:
我正在尝试使用 mysql 查询的结果填充自动完成功能,但选项从未显示,但我正确地获得了 json 响应。我试图更改我的主 css 文件和 jquery-ui.css 中的 z-index,但它不起作用。
这是我的 jquery 函数。
$('#tasklist').autocomplete({
source: function(request, response) {
$.ajax({
url: 'pruebaproy.php',
type: 'GET',
data: {term: request.term},
success: function(data) {
response( $.map( data, function ( item ) {
return item;
}));
}
});
},
minLength: 2,
focus: function( event, ui ) {
$('#tasklist').val( ui.item.nombre );
return false;
}
});
这是我执行 mysql 查询的 PHP 函数:
public function showTasks($term) {
include 'Conexion.php';
$conectar = new Conexion();
$arr_res = array();
$consulta = "SELECT * FROM Actividades WHERE nombre LIKE '%".$term."%'";
if($stmt = $conectar->open()->query($consulta)) {
while($row = $stmt->fetch_array(MYSQL_ASSOC)) {
$task['id'] = utf8_encode($row['idActividades']);
$task['nombre'] = utf8_encode($row['nombre']);
$task['cat'] = utf8_encode($row['parteAsoc']);
array_push($arr_res, $task);
}
echo json_encode($arr_res);
}
$stmt->close();
}
我在我的 'pruebaproy.php' 中调用这个函数
include('Proyecto.class.php');
$proyect = new Proyecto();
if(isset($_GET['term'])) {
$proyect->showTasks(trim(strip_tags($_GET['term'])));
}
【问题讨论】:
-
用户数据类型:"json",在$ajax函数中。
标签: php jquery mysql oop autocomplete