如何在自动完成表单的脚本中获取 json 文件的多个值

2024-05-22

拜托,我是 php 初学者.. 我想使用像这样的 json 编码的数组:http://stegonia.fr/autocomplete/index2.php http://stegonia.fr/autocomplete/index2.php(您可以看到 var_dump 的结果)。 我希望能够在自动完成表单中查看值和标签名称,并将 ID 号存储在我的数据库中。

我想使用这个自动完成解决方案:

http://stegonia.fr/autocomplete/index3.php http://stegonia.fr/autocomplete/index3.php

该解决方案(index3)的 javascript 是:

<script>

$(document).ready(function () {
    $('#speciesname').typeahead({
        source: function (query, result) {
            $.ajax({
                url: "server3.php",
                data: 'query=' + query,            
                dataType: "json",
                type: "POST",
                success: function (data) {
                    result($.map(data, function (item) {
                        return item;
                    }));
                }
            });
        }
    });
});

server2的php代码是这样的:

$term = trim(strip_tags($_GET['term'])); 
$a_json = array();
$a_json_row = array();
if ($data = $mysqli->query("SELECT * FROM `taxrefv11_mini` WHERE `GROUP2_INPN` = 'oiseaux' and `NOM_VERN` LIKE '%$term%' ORDER BY `NOM_VERN`")) {
    while($row = mysqli_fetch_array($data)) {
        $nomlat = htmlentities(stripslashes($row['NOM_VALIDE']));
        $nomvern = htmlentities(stripslashes($row['NOM_VERN']));
        $code = htmlentities(stripslashes($row['CD_REF']));
        $a_json_row["id"] = $code;
        $a_json_row["value"] = $nomvern.' '.$nomlat;
        $a_json_row["label"] = $nomlat.' '.$nomvern;
        array_push($a_json, $a_json_row);
    }
}
// jQuery wants JSON data

echo json_encode($a_json);
flush();
$mysqli->close();

拜托,我不太了解 javascript 我的问题是:

如果我使用 server2.php 发送的 json 文件,index3 的 javascript 获取“id”、“value”和“label”值的正确语法是什么?

谢谢 奥利维尔


有人帮我解决了。 下面给出解决方案。但有一个问题:当鼠标悬停在自动完成表单中的菜单上时,菜单项消失。这里讨论的是:

为什么将鼠标悬停在自动完成形式的菜单上时菜单项会消失 https://stackoverflow.com/q/49147428/9405477

这是整个 php 文件。该文件调用发送 json 的 server2.php 文件 (http://stegonia.fr/autocomplete/server2.php http://stegonia.fr/autocomplete/server2.php)

这里是整个index.12.php(http://stegonia.fr/autocomplete/index12.php http://stegonia.fr/autocomplete/index12.php)

<!DOCTYPE html>
<html>
<head>
    <title>Bootstrap Autocomplete with Dynamic Data Load using PHP Ajax</title>
	   <meta http-equiv="content-type" content="text/html; charset=utf-8" />
	 <!-- Bootstrap core CSS -->
	<link href="./css/bootstrap.min.css" rel="stylesheet"> 
    <script src="jquery-2.1.4.min.js"></script>
    <script src="//twitter.github.io/typeahead.js/releases/latest/typeahead.jquery.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-3-typeahead/4.0.2/bootstrap3-typeahead.js"></script>
	

</head>
<body>
	<div class="container-fluid">
		Search a species name and press enter (linotte for example) :
	  <form method="post" action="index12.php" id="form">
			<input type="text" name="speciesname" id="speciesname" autocomplete="off" class="typeahead"/>
      <input type="hidden" name="speciesid" id="speciesid">
    </form>
<script>

  function html_decode(value) {
    return $('<textarea />').html(value).text()
  }

  $(document).ready(function () {
    var input = document.getElementById('speciesname');
    input.focus();

    $('#speciesname').typeahead({
      source: function (query, store) {
        if (!input.value || input.value.length < 3) {
          return [];
        }
        $.ajax({
            url: 'server2.php',
	          data: 'term=' + query,
            dataType: 'json',
            type: 'post',
            success: function (data) {
              var species = [];
              $.each(data, function (i, item) {
                species.push({ id: item.id, name: html_decode(item.value) });
              });
              return store(species);
            }
          }
        )
      },
      matcher: function (item) {
        return item.name ? item.name.toLowerCase()
          .indexOf(this.query.toLowerCase()) !== -1 : false;
      },
			afterSelect: function (item) {
			if (item.id) {
			  $(input).val(item.name);
			  $('#speciesid').val(item.id);
			  $('#form').submit();
			}
			}
    })
  });
</script>
<br>
<?php if (isset($_POST['speciesid'])): ?>
  <p>The code number (id number) of the previous selected species is : <?php echo $_POST['speciesid'] ?></p>
<?php endif; ?>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在自动完成表单的脚本中获取 json 文件的多个值 的相关文章

  • 是否可以修改 $_SESSION 变量?

    恶意用户是否可以将 SESSION 在 php 中 变量设置为他想要的任何值 很大程度上取决于您的代码 有一点非常明显 SESSION username REQUEST username
  • laravel 4 登录验证失败

    在 Laravel4 中 我在路由中编写了以下代码 但它总是将我重定向到登录页面 我用谷歌搜索并在堆栈溢出上找到了它 并尝试了所有解决方案但没有成功 我确信这将是一个愚蠢的错误 但请跟踪它 谢谢 Routes Route post logi
  • 我应该如何在http post请求的请求负载中传递json数据

    我想知道如何在有效负载中传递 json 请求 例如 name test value test var post data var post options host this host path path method POST heade
  • 尝试使用 swift mailer、gmail smtp、php 发送邮件

    这是我的代码
  • 如何从 API 转换一些原始数据并将其保存到变量中,以便我可以在 C# 中使用它们

    我正在做一个个人项目 它是一个 C 应用程序 使用 API 与一些 Web 服务进行通信 我终于用这几行得到了第一个原始数据 var client new RestClient https api abcd com token var re
  • 使用 fgetcsv 循环遍历 csv

    我有一个包含 3 列的 csv 文件 电子邮件地址 名 and 姓 我已经到了可以使用以下代码打印数组的阶段 这会打印数组 因此每个字段都在一行中 我希望它打印的只是该行第一列中的值 这是如何完成的 关于 fgetcsv 的文档对我 相对初
  • PHP 选择后立即删除

    我有一个 PHP 服务器脚本 它从 MySQL 数据库中选择一些数据 一旦我将 mysql query 和 mysql fetch assoc 的结果存储在我自己的局部变量中 我就想删除我刚刚选择的行 这种方法的问题在于 PHP 似乎对我的
  • 在 Codeigniter 中编写模型代码的最佳方法是什么

    我对于在 codeigniter 中使用哪种技术来编码模型感到非常困惑 我进行了很多搜索 发现了各种编码人员使用的各种方法 请指导我使用 codeigniter 编写模型类的最佳方法 例子很少 有些方法签名中需要很长的参数 function
  • array_udiff_assoc() 和 array_diff_uassoc() 有什么区别?

    有什么区别array udiff assoc and array diff uassoc For array udiff assoc 我有这个代码 function myfunction v1 v2 if v1 v2 return 0 re
  • 在 json 中解析尾随字符

    我正在尝试检查 json 是否有效 并且我遇到了奇怪的行为 当我将一些字符附加到可解析的 json 时 jackson 和 gson 都会解析它 并且它们会忽略尾随字符 我想检查 json 是否严格有效 请帮忙 我尝试了几个标志mapper
  • 为什么index.html优先于index.php?

    我在服务器上有一个网站 主页是 example com index php 好的 我将一个名为 index html 的文件上传到服务器 根目录 当我在浏览器的 URL 栏中输入站点的域时 我感到惊讶 因为 index html 页面已加载
  • PHP 中的 MongoDB - 如何将项目插入集合中的数组中?

    这必须很容易 但我似乎无法弄清楚 假设我有一个集合users这是集合中的第一项 id ObjectId 4d8653c027d02a6437bc89ca name Oscar Godson email email protected cdn
  • 获取 JSON 中的 HTML 以在 React 组件中呈现为 HTML

    试图找出如何让链接实际呈现为链接 现在 在我从 Json 文件中读取这行文本后 React 将超链接渲染为文字文本 而不将其渲染为链接 一些数据 json about John has a blog you can read a href
  • 有没有办法将 boost::json::serializer 切换为美化输出?

    Using boost json serializer如中的示例所示文档 快速查看 http vinniefalco github io doc json json usage quick look html以紧凑格式保存 json tre
  • 显示表中的记录

    我的第一个 PHP 项目遇到了一些麻烦 我试图从 MySQL 数据库 有 3 条记录 获取数据并将其显示在表格中 问题是它似乎只显示记录 2 和 3 它跳过了第 1 条记录 请参阅我的代码并在下面显示 if mysqli connect e
  • Mongodb - 为现有集合添加架构

    我的 MongoDB 中有一个包含 1300 万条记录的集合 不幸的是 当我创建这个集合时 没有为其创建模式 我想知道除了备份整个数据库 创建架构并上传所有数据之外 是否有任何方法可以添加 JSON 架构 您可以使用以下方法将 JSON 架
  • Smarty输出空白页

    已解决 模板文件错误 我有这样的 Smarty 设置 require once smarty Smarty class php smarty new Smarty smarty gt compile dir compile dir smar
  • 如何复制 ArrayIterator 以保留其当前迭代位置?

    因为这似乎是我必须做的才能达到这种效果 arr a gt first b gt second iter new ArrayIterator arr Do a bunch of iterations iter gt next new iter
  • 如何在 Laravel 查询中使用多个 OR,AND 条件

    我需要 Laravel 查询帮助 我的自定义查询 返回正确结果 Select FROM events WHERE status 0 AND type public or type private 如何写这个查询Laravel Event w
  • facebook php - 如何获取专辑封面照片

    我需要使用 PHP SDK Facebook 获取专辑封面照片 我尝试 https graph facebook com ALBUM ID picture type album 但我得到默认图像 例如 获取用户 https graph fa

随机推荐

  • PHP_CodeSniffer规则文档[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在哪里可以找到有关的文档PHP CodeSniffer http pear php net packa
  • 在 Java 中将日期从 UTC 转换为 PST

    我需要将日期从 Google App Engine 本地服务器时区转换为 Java 中的太平洋时间 我尝试使用 Calendar calstart Calendar getInstance calstart setTimeZone Time
  • 连接所有 PostgreSQL 表并创建 Python 字典

    我需要加入allPostgreSQL 表并将它们转换为 Python 字典 数据库中有72张表 总列数大于1600 我编写了一个简单的 Python 脚本 该脚本连接多个表 但由于以下原因无法连接所有表内存错误 https gist git
  • cordova官方文档中的cookie支持

    我读过很多问题 询问科尔多瓦 电话间隙是否支持 cookie 如下所示 PhoneGap Cordova 如何使用cookies iOS https stackoverflow com questions 11220244 phonegap
  • 将nodejs Express静态请求重定向到https

    我需要将所有 http 请求重定向到 https 包括对静态文件的请求 My code app use express static dirname public app get function req res if req secure
  • PHP - 从动态添加的 html 表格行获取输入

    我在这里设置了以下小提琴Fiddle https jsfiddle net fqugd7vL 7 如您所见 我可以通过单击 添加行 按钮来添加输入 添加的所有输入都有唯一的 ID 和名称 问题是 我不能只做类似的事情 actionInput
  • C# 中的 Oracle 连接 - 连接字符串

    我目前正在尝试用 C 构建一个应用程序并将其连接到在 Oracle 11g 中运行的实时数据库 我有以下连接详细信息 Host IP 10 204 1 3 Port 1521 DB Name PROD 我的源代码 string connSt
  • 无法使用 build auto 和 tfs 13 修改 .csproj 文件

    我创建了一个名为的工作流活动EditCsproj这是我添加到构建模板中的 C 类 我把它放在后面Initialize Workspace step 此工作流程必须获取所有 csproj我作为参数提供的目录路径中的文件 并且必须修改它们 但对
  • 两阶段处理:不要从第 1 阶段 XSLT 2.0 处理输出空标签

    我有一些复杂的 XSLT 2 0 转换 我试图找出是否有通用方法来确保不输出空标签 所以 从概念上讲 处理的最后阶段递归地删除所有空标签 我知道这可以通过一个单独的 XSLT 来完成 它除了过滤掉空标签之外什么也不做 但我需要将它们全部打包
  • Selenium driver.page_source() 仅提取部分 HTML DOM

    我有一个网页 当我右键单击它然后查看页面源时 我得到 SECTION A 但是当我点击它然后检查时 我得到了更长的输出 我尝试使用 JS 获取页面源 但同样的问题 我得到了输出SECTION A 我怎样才能解决这个问题 注意 我正在寻找通用
  • 如何在 IOS safari 上禁用缓存?

    有没有办法禁用 ipad iphone 上的缓存 我想针对非缓存体验运行一些自动化测试 我刚刚偶然发现了一种在 iOS 上禁用 Safari 缓存的方法 iOS Open Settings 导航Safari gt 高级 Enable 网页检
  • JSX 支持哪些 ES6 功能?

    我在用着与 JSX 进行反应 with 反应工具 https www npmjs com package react tools将 JSX 代码编译为 JavaScript JSX 支持哪些 ES6 功能harmony选项已启用 感谢康加克
  • × TypeError:无法读取未定义的属性(读取“map”)

    当我尝试运行此代码时 它给出了此错误 TypeError 无法读取未定义的属性 读取 map 为什么会发生这种情况 我怎样才能让它发挥作用 import React from react import Grid from material
  • setSize() 不起作用?

    我有一个程序 需要两个按钮 一个是常规按钮 另一个具有根据鼠标悬停而变化的图片 目前 由于图片很大 JButton自定义也很大 我可以更改自定义的大小并保持图像 和翻转图像 成比例吗 我尝试过 setSize 但它没有任何作用 对于任何反馈
  • 使用 php 和 mysql 计算日期差(以小时为单位)

    我如何使用 php 和 mysql 找到以小时为单位的日期差异 Use TIMEDIFF http dev mysql com doc refman 5 1 en date and time functions html function
  • 如何将 WKUIDelegate 实现到 SwiftUI WKWebView 中?

    我正在 Xcode v11 上创建一个 Web 应用程序 但在实现 WKUIDelegate 来显示 Javascript 警报并在 Web 应用程序上正确确认时遇到问题 我在 ContentView swift 上得到了一个非常简单的 w
  • 使用条件注释的目的