Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP AJAX JSON自动建议_Javascript_Php_Jquery_Ajax_Json - Fatal编程技术网

Javascript PHP AJAX JSON自动建议

Javascript PHP AJAX JSON自动建议,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我无法将下拉字段设置为autosuggest 我有我的主页,它是bpSearch.php,在这里我有一个模式窗口,其中有一个输入字段,当您开始键入时,它会自动提示从我的搜索文件中调用的数据 以下是模态内部的输入: <input type="text" class="autosuggest" id="partnerName" name="partnerName" placeholder="Partner Name" /> <div class="dropdown">

我无法将下拉字段设置为autosuggest

我有我的主页,它是bpSearch.php,在这里我有一个模式窗口,其中有一个输入字段,当您开始键入时,它会自动提示从我的搜索文件中调用的数据

以下是模态内部的输入:

 <input type="text" class="autosuggest" id="partnerName" name="partnerName" placeholder="Partner Name" />
 <div class="dropdown">
   <ul class="result"></ul>
 </div>
这是我的搜索文件,名为searchPartner.php。正如您在JavaScript中看到的,它位于一个名为api的文件夹中。也许我没有正确地遍历目录?下面是searchPartner.php:

 <?php
   include("../include/database.php");
   if(isset($_POST['search_term']) == true && empty($_POST['search_term']) == false)
   {
     $search_term = mysqli_real_escape_string($_POST['search_term']);
     $search = "SELECT PARTNER_CODE, FULL_NAME FROM partner WHERE FULL_NAME LIKE '$search_term%'";
     $query = mysqli_query($dbc, $search);
     while(($row = mysqli_fetch_assoc($query)) !== false)
     {
       echo '<li>', $row['FULL_NAME'], '</li>';
     }
   }
 ?>

我知道这个查询是有效的,因为我已经打开了页面,注释掉了IF语句,我可以看到带有$row{'FULL_NAME']的LI标记。所以我需要做的就是让我的主页在用户开始键入时检索这些数据。

我想您可能想试试

// var search_term = $(this).attr('value');
var search_term_2 = $(this).val();
$.post('api/searchPartner.php', {search_term:search_term_2}, function(data)
// ...
抱歉,搜索词:搜索词让我困惑。。。 但与其查看attr值,不如获取val

 <input type="text" class="autosuggest" id="partnerName" name="partnerName" placeholder="Partner Name" value="No Values Here Man..." />

不确定这是否会有帮助,尽管

尝试将name=partnerName更改为name=search\u term。在我看来,无论如何。我没有看到名为search\u term的表单元素。我没有看到任何明显的内容。您在开发控制台中看到ajax调用返回了什么?但是,这是mysqli\u real\u escape\u string$\u POST['search\u term']需要数据库连接参数mysqli\u real\u escape\u字符串$dbc,$\u POST['search\u term']这是100%肯定的。string mysqli_real_escape_string mysqli$link,string$escapestr^^^^^^^^^^你可能想使用绝对路径,相对于资产/ajax脚本的web服务器根,相对于包含的文件服务器根。@dgig,我检查了Chrome的控制台。UL没有生成任何LI的ele你觉得呢?
 <input type="text" class="autosuggest" id="partnerName" name="partnerName" placeholder="Partner Name" value="No Values Here Man..." />