使用 php 自动完成文本框

Posted

技术标签:

【中文标题】使用 php 自动完成文本框【英文标题】:Autocomplete TextBox using php 【发布时间】:2018-04-03 23:12:56 【问题描述】:

我正在使用 php 进行自动完成,但我收到以下代码错误,所以请帮助我。

INDEX.PHP

这是我的 html 代码

<form method="POST">
    <input type="text" name="txtpname" id="txtpname" size="30" class="form-control" placeholder="Please Enter City or ZIP code">
</form>

这是我的脚本

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" />

<script type="text/javascript">
    $(document).ready(function()
        $("#txtpname").autocomplete(
            source:'ajax_autocomplete_party.php',
            minLength:1
        );
    );
</script>

这是我从中获取数据的 ajax 文件。 ajax_autocomplete_party.php 包括“脚本/db.php”;

$term=$_GET["txtpname"];

 $query=mysql_query("SELECT * FROM party_details where NAME like '%".$term."%' order by NAME");
 $json=array();

while($party=mysql_fetch_array($query))

    $json[]=array(
        'value'=> $party["PARTY_ID"],
        'label'=>$party["NAME"]
    );


echo json_encode($json);

我的页面重新加载错误是:autocomplete not defined 现在该怎么办

【问题讨论】:

这里可以进行 SQL 注入。还使用不安全的已弃用 mysql 库。使用PDO 或 MySQLI 您是否在控制台(尤其是网络选项卡)中看到无法加载 jquery 和 jqueryui 脚本文件的信息? autocomplete not defined 表示找不到自动补全库。 也许尝试更新版本的 jquery ui 会有所帮助。 @Mouser 现在该怎么办???我现在什么都没有得到 【参考方案1】:

最新版本的 jQuery 和 -UI 使其工作:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

$(document).ready(function() 
  $("#txtpname").autocomplete(
    source: [
      "ActionScript",
      "AppleScript",
      "Asp",
      "BASIC",
      "C",
      "C++",
      "Clojure",
      "COBOL",
      "ColdFusion",
      "Erlang",
      "Fortran",
      "Groovy",
      "Haskell",
      "Java",
      "JavaScript",
      "Lisp",
      "Perl",
      "PHP",
      "Python",
      "Ruby",
      "Scala",
      "Scheme"
    ],
    minLength: 1
  );
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/base/jquery-ui.css" />

<form method="POST">
  <input type="text" name="txtpname" id="txtpname" size="30" class="form-control" placeholder="Please Enter City or ZIP code">
</form>

【讨论】:

以上是关于使用 php 自动完成文本框的主要内容,如果未能解决你的问题,请参考以下文章

输入文本框背景中的jQuery自动完成

PHP 自动完成

文本框中的自动完成 json

基于其他事件绑定自动完成文本框

使用 web api 自动完成文本框

成功完成初始自动完成后,如何在 WinForm 文本框上重新启动自动完成?