【问题标题】:Autocomplete don't return a searched value, but it return all value (in PHP, jQuery)自动完成不返回搜索值,但返回所有值(在 PHP、jQuery 中)
【发布时间】:2015-10-24 12:17:06
【问题描述】:

我有这样的index.php

<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.4/theme/smoothness/jquery-ui.css"/>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>

<script>
    $(document).ready(function(){
        $("name").autocomplete({
            minLength: 2,
            source: 'autocomplete.php',
            select: function(event,ui){
                $("#name").val(ui.item.value);
            }
        });
    });
</script>
<form method="GET">
    <input type="text" name="name" id="name"/>
</form>

这是autocomplete.php的一部分

$q = $_GET['name'];
...
$sql = "SELECT name_name FROM tbl_data WHERE name_name LIKE '%$q%'"
...

它以json 格式返回一个值。

但是,当我在inputbox 中输入两个字母时,它会显示来自tbl_data 的所有名称,而不仅仅是数据LIKE '%$q'

如何解决?

任何回复,谢谢..

【问题讨论】:

  • 也许所有名字都适合您的查询?
  • 我修好了!我只是将 LIKE '%$q%' 替换为 LIKE '%$_REQUEST['term']%.. 但为什么是 'term'?谁能解释一下?谢谢..

标签: php jquery html json autocomplete


【解决方案1】:

首先,您必须更具体地了解您的 jQuery 选择器:

$('#name').autocomplete({...});

但我认为你做错的部分是你的 PHP 代码中你从 _GET 数组中检索该变量的部分,jQuery 发送到服务器的变量的名称是 q 而不是 name 所以你代码应该是这样的:

$q = _GET['q'];

【讨论】:

  • 我同意你的观点,php 方面一定有问题。但我没有,关于 $_GET['q'] 因为,$q = $_GET['this-is-a-name-of-input-box'],我将我的命名为 'name' 所以我使用 $ _GET['name']
【解决方案2】:

这个问题解决了! 我只是将 "SELECT name_name FROM tbl_data WHERE name_name LIKE '%$q%'" 中的查询替换为 "SELECT name_name FROM tbl_data WHERE name_name LIKE '%".$_REQUEST['term']."%'".. 这个作品!甚至我也不确定为什么要使用“术语”。也许,它是一个由 jQuery 返回的关键字。对此的任何解释都将被接受。谢谢

【讨论】:

    【解决方案3】:

    http://api.jqueryui.com/autocomplete/#option-source

    一个 request 对象,具有单个 term 属性,它引用当前文本输入中的值。例如,如果用户在城市字段中输入“new yo”,则自动填充词将等于“new yo”。

    $q = $_GET["term"];
    

    【讨论】:

      猜你喜欢
      • 2019-03-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 2014-07-22
      相关资源
      最近更新 更多