gpt4 book ai didi

php - 带有数据库的jquery ui自动完成

转载 作者:IT王子 更新时间:2023-10-29 00:07:24 24 4
gpt4 key购买 nike

我对 JQuery 还很陌生,可能正在尝试实现对初学者来说可能有点难的东西。但是,我正在尝试创建一个自动完成功能,将当前值发送到 PHP 脚本,然后返回必要的值。

这是我的 Javascript 代码

$("#login_name").autocomplete({
source: function(request, response) {
$.ajax({
url: "http://www.myhost.com/myscript.php",
dataType: "jsonp",

success: function(data) {
alert(data);
response($.map(data, function(item) {
return {
label: item.user_login_name,
value: item.user_id
}
}))
}
})
},
minLength: 2
});

这是“myscript.php”的后半部分

while($row = $Database->fetch(MYSQLI_ASSOC))
{
foreach($row as $column=>$val)
{
$results[$i][$column] = $val;
}
$i++;
}
print json_encode($results);

产生以下输出

[{"user_id":"2","user_login_name":"Name1"},{"user_id":"3","user_login_name":"Name2"},{"user_id":"4","user_login_name":"Name3"},{"user_id":"5","user_login_name":"Name4"},{"user_id":"6","user_login_name":"Name5"},{"user_id":"7","user_login_name":"Name6"}]

谁能告诉我哪里出错了?开始变得很沮丧。输入框只是变成“白色”并且没有显示任何选项。如果我指定一个值数组,代码就可以工作。

更新我已将代码更改为但仍然没有运气。

$("#login_name").autocomplete({
source: "/ajax/login_name.php",
dataType: "json",
minLength: 2,
cache: false,
select: function(event, ui) {
alert(ui);
}
});

使用 FireFox 的 Web Developer 工具时,出现错误“b is null”。

最佳答案

终于找到适合我需要的解决方案

$("#login_name").autocomplete({
source: function(request, response){
$.post("/ajax/login_name.php", {data:request.term}, function(data){
response($.map(data, function(item) {
return {
label: item.user_login_name,
value: item.user_id
}
}))
}, "json");
},
minLength: 2,
dataType: "json",
cache: false,
focus: function(event, ui) {
return false;
},
select: function(event, ui) {
this.value = ui.item.label;
/* Do something with user_id */
return false;
}
});

关于php - 带有数据库的jquery ui自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2537721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com