0

我对 jquery n javascript 很陌生。我正在尝试制作自动完成功能。我正在使用来自差异页面的示例代码来执行此操作。但它传递给 php 页面的“术语”是空的。所以自动完成不起作用。我不明白为什么,有人可以看看吗?我没有更改标签,但我只是想测试它是否有效。问题在于 php 页面,请求“术语”为空。

<head>
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
    <script>
    $(function() {
        $( "#txtLanguage" ).autocomplete({
            source: "source.php",
            minLength: 1 // how many character when typing to display auto complete
        });
    });
    </script>
</head>
<body>
<label for="Language">Language: </label>
    <input id="txtLanguage" class="txtLanguage"/>
</div>
</body>
</html>

<?php

include 'dbconnect.php';



    $q=$_REQUEST['term'];

    echo $q;

    $return = array();
   $stat="SELECT email FROM users WHERE email LIKE '$q'";
   $query = sqlsrv_query($conn,$stat);
    while ($row = sqlsrv_fetch_array($query,SQLSRV_FETCH_ASSOC)) {
        array_push($return,array('label'=>$row['email'],'value'=>$row['email']));
    }
    echo(json_encode($return));



?>
4

3 回答 3

0

你确定,文件路径是正确的?控制台中是否有任何 javascript 错误?

  1. 试试控制台$( "#txtLanguage" )
  2. 删除 source.php 并添加一个数组

希望这对您有所帮助。

于 2013-06-22T16:23:53.307 回答
0

我认为你需要这个:

 $stat="SELECT `email` FROM `users` WHERE `email` LIKE '$q%'";

您忘记了 % 符号,没有 % 的 LIKE 等于email = '$q'

于 2013-06-22T16:05:17.267 回答
-1

使用 $_GET['term'] 而不是 $_REQUEST['term']

于 2013-06-22T16:01:51.233 回答