【问题标题】:jQuery Autocomplete json same resultjQuery Autocomplete json 相同的结果
【发布时间】:2017-09-29 02:44:55
【问题描述】:

我在 index.php

中有这段代码
$(document).ready(function(){
$("#searchInput").autocomplete({
source: "getResults.php"
});

并且 getResults.php 包含:

<?php
$result = array();
array_push($result, "Apple");
array_push($result, "Banana");
array_push($result, "Orange");
echo json_encode($result);
?>

为什么我总是得到相同的结果?

无论我在 searchInput 中输入什么,我都会得到相同的列表/结果,

谢谢。

【问题讨论】:

  • 您希望完成什么? $result 将始终包含您要推送的 3 个值。你希望那些改变吗?可能你的问题还不够清楚。
  • @TonyM,我想达到这样一种情况,即我开始输入单词“Ap ..”的第一个字母,以便从 $result 中仅获取 Apple,就像此处的示例 pastebin.com /SnyhvpXc ,我不确定这与 php 有多大关系,过滤内容应该是 jQuery/Javascript 的东西,我不愿意将任何内容发布到 php 文件中,我只是想从 php 文件中获取结果, 而结果应该在我输入时被过滤..
  • 即使您输入了“Ap”,您是否获得了全部 3 个?刚刚在我的本地环境中完全尝试了您的设置,它工作正常。
  • @TonyM ,没错,就是我想说的:(

标签: php jquery json autocomplete


【解决方案1】:

因为您没有发送“提交到 php 脚本中的任何内容”

你只有这个数据:

<?php
$result = array();
array_push($result, "Apple");
array_push($result, "Banana");
array_push($result, "Orange");
echo json_encode($result);
?>

这就是你所能得到的。

需要勾选$_POST,将帖子内容推送到数组中

更新

由于您在 cmets 中提到要显示自动建议,因此您需要执行类似的操作。

//php file

if($_POST && isset($_POST['keyword']){
  $search = $_POST['keyword']; 
  $array =  ['Apple', 'Banana', 'Orange']; 

  foreach($array as $fruit){
    if(strpos($search, $fruit) === 0){
      echo $fruit; 
    }
  }
}

您可以通过 ajax 作为 POST 请求将单词发送到这个 php 文件。

【讨论】:

  • 但是这个例子不是这样,pastebin.com/SnyhvpXc,有什么不同?
  • 我不明白你的问题。但该值不会改变,因为您没有向 PHP 代码发送任何内容,所以不会有任何改变。如果你能告诉我你想做什么可能会有所帮助
  • 我不愿意向 php.ini 发布任何内容。简单地说,我试图从一个 php 文件中得到不同的结果,是的,我得到了它们,我的问题是为什么自动完成 javascript 函数本身不能过滤“已经/加载”的内容?我的意思是查看网站 pastebin.com/SnyhvpXc ,正如您在运行该脚本时看到的那样,变量 availableTags 有很多值,当您尝试搜索特定值时它仍然有效,它只显示该值,而不是全部价值观,
  • OP 正在读取 PHP 文件的内容,而不是写入。
【解决方案2】:

我在你的 JS 中看到了一个缺少的括号,我希望你的设置正确:

$(document).ready(function(){
  $("#searchInput").autocomplete({
  source: "getResults.php"
});

应该是:

$(document).ready(function(){
    $("#searchInput").autocomplete({
      source: "getResults.php"
    });
});

编辑:

由于您是从另一个文件中获取数据,因此您需要按照此处的说明进行操作:

https://jqueryui.com/autocomplete/#remote

这将引导您调用 php 文件。

【讨论】:

  • 那里的教程似乎不错,但是我找不到search.php源代码,
猜你喜欢
  • 1970-01-01
  • 2012-10-22
  • 1970-01-01
  • 2017-05-08
  • 1970-01-01
  • 2012-01-18
  • 2017-02-19
  • 1970-01-01
  • 2018-07-01
相关资源
最近更新 更多