jQuery UI的自动完成显示 “无搜索结果”

问题描述:

我想显示jQuery UI的自动完成显示 “无搜索结果”

我有以下形式使用jQuery UI自动完成从MySQL数据库的建议

<form action="search.php" method="POST"> 
     <input type="text" name="search" id="search-input"> 
     <input type="submit" value="Submit" id="submit"> 
</form> 

的search.php

<?php 
require_once 'db.php'; 

$a = array(); 

    if (isset($_POST['search']) && !empty($_POST['search'])) { 
     $search_param = trim($_POST['search']); 

     $slct_search = $db->prepare("SELECT student_name FROM student_details WHERE student_name LIKE ?") or die($db->error); 
     $slct_search->bind_param('s', $search_param); 
     $slct_search->execute();   
     $res = $slct_search->get_result(); 
     if($res->num_rows) {    
      while ($result = $res->fetch_object()) { 
       $a[] = $result->student_name; 
      } 
      echo json_encode($a); 
     } else { 
      echo 'OOPS we had a problem'; 
     } 
    } 
?> 

的search.php工作正常。它返回

[ “拉维”, “拉维”]

JS代码

$(function() { 
     $("#search-input").autocomplete({ 
     source: "search.php", 
     minLength: 2 
     }); 
    }); 

问题是,当我开始在文本框中键入立即显示

没有搜索结果。

我也尝试JQuery UI Autocomplete Search Results do not display

+0

请任何一个答案与实例 – Prakash

HTML

<form action="" method=""> 
     <input type="text" name="search" id="search-input" autocomplete="off"> 
     <input type="submit" value="Submit" id="submit"> 
     <div id="empty-message"></div> 
    </form> 

现在的search.php

$searchTerm = trim($_GET['term']); 

    $query = $db->query("SELECT student_name FROM student_details WHERE student_name LIKE '%".$searchTerm."%' ORDER BY student_name ASC"); 


    while ($row = $query->fetch_object()) { 
     $data[] = $row->student_name; 
    } 

    echo json_encode($data); 

jQuery用户界面自动完成只能用$ _GET

工作

所以我用$ _GET [ '长期'],见下图

enter image description here

JS代码

$('#search-input').autocomplete({ 
    source: 'search.php', 
    minLength: 2, 
    response: function(event, ui) { 
     // ui.content is the array that's about to be sent to the response callback. 
     if (ui.content.length === 0) { 
      $("#empty-message").text("No results found"); 
     } else { 
      $("#empty-message").empty(); 
     } 
    } 
});