0

在我的页面上的自动完成对象中引用了以下代码

<?php
require('json.php');
error_reporting(E_ALL);
mysql_connect("localhost", "root", "") or
    die("Could not connect: " . mysql_error());
mysql_select_db("timetable") or die("No such database");
$sql = sprintf("SELECT id,dsc FROM module WHERE dsc LIKE '%%%s%%'",
               mysql_real_escape_string($_REQUEST['term']));
$result = mysql_query($sql)
  or die(mysql_error());
$all = array();
while ($row = mysql_fetch_array($result))
    $all[] = array('value'=>$row[1],'label'=>$row[1]);
print json_encode($all);
?>

自动完成工作正常,但没有选项可以显示数据。谁能看到我做错了什么

4

2 回答 2

0

试试这个 JS:

$(function(){
  $('#who').autocomplete({
    source: function() {
      $.get('scripts/searchstaff.php', function(data) {
        $(target).text(data);
        return data;
      }
    }
  });
});

自动完成仅在内部使用来自您的 php 的回显/返回,您必须捕获数据并将其写出客户端。

注意:数据将是一个 json 字符串,您可以使用 将其解析为一个对象JSON.parse(data),然后对该对象做任何您想做的事情。

于 2012-07-06T11:15:37.523 回答
0

你能试试这个吗?它可能会帮助你

 <?php
    require('json.php');
    error_reporting(E_ALL);
    mysql_connect("localhost", "root", "") or
        die("Could not connect: " . mysql_error());
    mysql_select_db("timetable") or die("No such database");
    $sql = sprintf("SELECT id,dsc FROM module WHERE dsc LIKE '%%%s%%'",
                   mysql_real_escape_string($_REQUEST['term']));
    $result = mysql_query($sql)
      or die(mysql_error());
    $all = array();
    while ($row = mysql_fetch_array($result))
    {
    array_push($all,array('value'=>$row[1],'label'=>$row[1]));
    }
    echo(json_encode($all));
    ?>
于 2012-07-06T11:11:25.657 回答