我是jquery n javascript的新手。我正在尝试制作自动填充功能。我正在使用diff页面中的示例代码来执行此操作。但它传递给php页面的'term'是空的。所以自动完成功能不起作用。我不明白为什么,有人可以看看吗?我没有更改标签,但我只是试图测试它是否有效。问题在于php页面,请求'term'是空的。
<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));
?>
答案 0 :(得分:0)
我认为你需要这个:
$stat="SELECT `email` FROM `users` WHERE `email` LIKE '$q%'";
您忘记了%符号,而没有%的LIKE等于email = '$q'
答案 1 :(得分:0)
您确定,文件路径是否正确?控制台中是否有任何javascript错误?
$( "#txtLanguage" )
。 希望这会对你有所帮助。
答案 2 :(得分:-1)
使用$ _GET ['term']代替$ _REQUEST ['term']