我正在尝试用 php 制作一个自动完成的文本框。 这是我的 JavaScript 代码
<script src="assets/js/jquery-1.10.2.js"></script>
<script src="assets/js/jquery-1.3.2.min.js"></script>
<script src="assets/js/jquery-ui-1.10.4.custom.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
$('#search').autocomplete({
source : 'search-job.php',
minLength:2
});
});
</script>
这是我的html代码
<input type="text" id="search" class="form-control input-lg col-xs-4" name="search">
这是我的 search-job.php
<?php
include 'connectdb.php';
if(isset($_REQUEST['term']))
exit ();
$rs= mysql_query("select * from jobs where `title` like '%" . ucfirst($_REQUEST['term']). "%' ORDER BY id ASC LIMIT 0,10") or die(mysql_error());
$data= array();
while($row= mysql_fetch_assoc($rs,MYSQL_ASSOC)){
$data[]=array(
'label'=>$row['title'],
'value'=>$row['title']
);
}
echo json_encode($data);
flush();
我在 search-job.php 中得到正确的值。但它没有被 html 捕获 但是当我运行代码时什么也没发生?这是为什么?
这是它在网络选项卡上的样子
最佳答案
您传递的数组格式错误。
$data[]=array(
'label'=>$row['title'],
'value'=>$row['title']
);
应该是
$data[$row['title']]= >$row['title'];
OR simply
$data[]= >$row['title'];
和
替换
source : 'search-job.php',
与
source: 'search-job.php?term='+document.getElementById('search').value,
关于php - php和mysql中的自动完成文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31282968/