gpt4 book ai didi

javascript - 在 jQuery 自动完成中获取动态值

转载 作者:行者123 更新时间:2023-11-29 05:24:41 25 4
gpt4 key购买 nike

所以我有这段代码用于搜索框(就像我们在谷歌中使用的那样,自动搜索)。在下面的示例中,值是硬编码,但是,我需要在数组中包含动态值。

这是代码:-

<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Default functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function() {

var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
</script>

</head>
<body>

<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>


</body>
</html>

我怎么会在这个地方有一个动态数组?您可能认为我有一个变量 $row,它从 mysql 数据库动态获取数据(搜索选项)。

谢谢。

编辑:-

获取值的 php 代码:-

<?php
include 'dbconnector.php';
$query="SELECT firstname from users order by userid";
$result=mysql_query($query,$db) or die (mysql_error($db));
$row=mysql_fetch_array($result);

?>

最佳答案

jQuery UI 自动完成功能记录了一个“远程”数据函数 here .最简单的版本是:

$( "#tags" ).autocomplete({
source: 'script.php'
});

script.php 应该返回 JSON 数据。因此,您将从 $row(s) 创建一个数组,对其进行 json_encode 并将其返回。

正如所 promise 的,这是一个以您的代码为基础的粗略示例。免责声明:我不是 100% 熟悉 jQuery UI 期望的格式,您应该知道 mysql_query() 是 deprecated你应该探索替代方案,例如 mysqliPDO .

更新的答案显示 jQuery UI 发送的 $_GET['term'] 的使用。我假设你正在寻找名字?我正在使用数据库列“名字”。

巨大的免责声明:当您现在将用户生成的字符串传递到您的数据库查询中时,请确保您正确清理。我已经使用 mysql_real_escape_string() 来匹配您的示例,但它已被弃用,您应该研究上述替代方案。

// Sanitise GET var
$term = mysql_real_escape_string($_GET['term']);

// Add WHERE clause
$query = "SELECT `id`, `firstname` FROM `users` WHERE `firstname` LIKE '%".$term."%' ORDER BY `id`";

$result = mysql_query($query,$db) or die (mysql_error($db));

while($row = mysql_fetch_array($result)){

$array[$row['id']] = $row['firstname'];

}

header('Content-type: application/json');
print json_encode($array);
exit(); // AJAX call, we don't want anything carrying on here

关于javascript - 在 jQuery 自动完成中获取动态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21663702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com