我有像这样的index.php
:
<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.4/theme/smoothness/jquery-ui.css"/>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(document).ready(function(){
$("name").autocomplete({
minLength: 2,
source: 'autocomplete.php',
select: function(event,ui){
$("#name").val(ui.item.value);
}
});
});
</script>
<form method="GET">
<input type="text" name="name" id="name"/>
</form>
这是autocomplete.php
的一部分
$q = $_GET['name'];
...
$sql = "SELECT name_name FROM tbl_data WHERE name_name LIKE '%$q%'"
...
它返回一个 json
格式的值。
但是,当我在 inputbox
中输入两个字母时,它会显示 tbl_data
中的所有名称,而不仅仅是数据LIKE '%$q'
.
如何解决这个问题?
任何回复,谢谢..
最佳答案
首先,您必须更具体地了解您的 jQuery 选择器:
$('#name').autocomplete({...});
但是我认为你做错的部分是 PHP 代码中从 _GET
数组检索该变量的部分,jQuery 发送到服务器的变量名称是 q
不是 name
所以你的代码应该是这样的:
$q = _GET['q'];
关于php - 自动完成不返回搜索到的值,但它返回所有值(在 PHP、jQuery 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31769533/