创建一个基本的自动完成建议列表
Posted
技术标签:
【中文标题】创建一个基本的自动完成建议列表【英文标题】:Create a basic auto-complete suggestion list 【发布时间】:2014-01-14 21:50:33 【问题描述】:如何在搜索框下方创建一个自动完成的建议列表:
用户可以使用键盘Down
& Up
键在它们之间导航吗?
用户可以使用Esc
按钮关闭建议列表吗?
当用户按下键盘Down
或Up
键时,被选中的建议会填充到搜索框内吗?
这是我当前的 index.php 代码:
<?php
include 'script_suggestion.php';
include 'script_close_suggestion_box.php';
?>
<html>
<head>
<title>
Brandon's Search Engine
</title>
<style type="text/css">
#suggestion
border: 1px solid black;
visibility: hidden;
position: absolute;
background-color: white;
z-index: 10;
#suggestion a
font-size: 12pt;
color: black;
text-decoration: none;
display: block;
width: 648px;
height: auto;
text-align: left;
padding: 2px;
#suggestion a:hover
background-color: #dddddd;
width: 644px;
padding: 2px;
</style>
</head>
<body>
<form method="GET" action="search.php" name="q">
<table align="center">
<tr>
<td>
<h1><center>Brandon's Search Engine</center></h1>
</td>
</tr>
<tr>
<td align="center">
<input type="text" name="q" style="height: 27px; width: 650px; padding: 2px" placeholder="Search Now"
onkeyup="getSuggestion(this.value)" autocomplete="off" onblur="closeBox()"/>
<div id="suggestion" style="width: 648px">
</div>
</td>
</tr>
<tr>
<td align="center">
<input type="submit" value="Search" style="height: auto; width: 60px; padding: 2px" />
<input type="reset" value="Clear" onclick="closeBox()" style="height: auto; width: 50px; padding: 2px" />
</td>
</tr>
<tr>
<td align="center">
Can't find your site? <br /> Insert <a href="insert.php">here</a>.
</td>
</tr>
</table>
<input type="hidden" name="page" value="1" />
</form>
</body>
</html>
提前致谢。
【问题讨论】:
jqueryui.com/autocomplete 我已经尝试过了,但我不知道如何在我的代码中使用它。 向我们展示您的尝试,我们可以从中提出建议 pastebin.com/Ri8715Gc @Rob 我给你我的建议代码。你现在可以帮我吗? 【参考方案1】:使用 Jquery UI AutoComplete,这里是示例代码
<!doctype html>
<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.3/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.3/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>
示例取自 - http://jqueryui.com/autocomplete/
/**
This code below loads the autocomplete for your input field,
where in "#tags" is the id of your element where this should
be displayed in and "availableTags" is the array of list of
possible values to be shown in autocomplete list
*/
$( "#tags" ).autocomplete(
source: availableTags
);
如果您想通过 PHP 动态获取存储在数据库中的数据,您可能需要使用http://jqueryui.com/autocomplete/#remote
【讨论】:
以上是关于创建一个基本的自动完成建议列表的主要内容,如果未能解决你的问题,请参考以下文章