javascript - 当用户在表单上的文本框中键入内容时如何显示建议或相关名称

标签 javascript php mysql autocomplete

我有一个 PHP 和 JavaScript 的小项目,用于在 MySql 数据库上注册学生,它做得很完美,但是当用户在上面搜索/输入特定名称时,我需要,例如,如果他/她输入像“John”这样的名称它必须显示与字母“J”相关的名称的下拉列表,我尝试过,但不起作用。我将逐步向您展示我所做的事情。

1:这是用户用来输入学生分数的html表单,字段名称是我想要的地方,当用户在文本框中输入名称时,它必须显示相关名称:

注意:我将向您展示几个字段。

<form action="#" method="POST" id="name" name="name"   
enctype="multipart/form-
data">
 <div class="row">
<div class="col-sm-6">
    <div class="panel panel-default">

    <div class="panel-body">
    <div class="form_sep">
        <label for="reg_input_name" class="req">Admition Number</label>
         <input type="text" id="idnum" name="idnum" class="form-control"    
            data-required="true" >
        </div>
        <div class="form_sep">
       <label for="reg_textarea_message" class="req">Name</label>
        <input type="text"  name="name" id="name" cols="30" rows="4"  
           class="form-control"></div>
       </div>
        </div>
         </div></div></form>

2:这是 JavaScript 代码和 jQuery 插件,我将其放在同一个 html 表单上。

<script src="../jquery-ui.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $.get('getStudents.php', function(data){
            var students = JSON.parse(data);

            $('#name').autocomplete({
                source: students
            });

        });

    });
</script>

3:这是 PHP (getStudents.php) 文件。

<?php
include_once "db_connect.php";

 $sql = "SELECT * FROM student_reg";
  $res = mysql_query($sql);
   if($res){
  $students = array();
   while($r = mysql_fetch_array($res)){
    $students[] = $r['sname'];
    }
  echo json_encode($students);
    }else{
  echo mysql_error();
    }
 ?>

注意:当我在 php 文件上测试/回显其自身时,它会显示所有名称,但是当我将光标放在“名称”文本字段上并键入时,它不会显示我喜欢的下拉建议名称。

最佳答案

只是一个想法,但我建议您查看数据表( https://www.datatables.net/ )。它可能有一些对您的应用程序非常有用的应用程序。搜索功能的功能非常接近我所希望的。这是一个非常基本的示例,其中提供了可用的搜索功能。( https://www.datatables.net/examples/basic_init/zero_configuration.html )。

关于javascript - 当用户在表单上的文本框中键入内容时如何显示建议或相关名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33828513/

相关文章:

javascript - 下载 csv 文件在 Internet Explorer 11 中不起作用,它将页面重定向到另一个页面(无法显示网页)

javascript - 如何在 Bootstrap 5 表格中使用排序、搜索和每页显示

Javascript 正则表达式替换为转义反斜杠

javascript - 在移动模式下隐藏 Angular Material 中的一些列

php - 表单帖子和 jquery 帖子之间的区别

php - 拉维尔 : Many to many insertion

php - Yii framework 1.1 在Controller action中获取http请求Header

mysql - SQL,获取 id 的黑白差异

java - mysql for java中的语句

php - 如何获取行数据并使用逗号将其转换为数组?