相关疑难解决方法(0)

jquery ui自动完成数据库

我对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
});
Run Code Online (Sandbox Code Playgroud)

这是"myscript.php"的后半部分

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

这产生以下输出

[{"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"}]
Run Code Online (Sandbox Code Playgroud)

谁能告诉我哪里出错了?开始变得非常沮丧.输入框只是变为"白色",没有显示任何选项.如果我指定一个值数组,代码确实有效.

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

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

使用FireFox的Web Developer工具,我收到错误"b为null".

php jquery user-interface json autocomplete

18
推荐指数
1
解决办法
3万
查看次数

标签 统计

autocomplete ×1

jquery ×1

json ×1

php ×1

user-interface ×1