自动完成搜索..?可能使用jquery
Autocomplete Search...? Possibly using jquery?
假设我有以下代码:
HTML:
<form name="searchForm">
<input type="text" id="Fruit" name="getFruit"/>
</form>
Javascript:
function Fruit(name, color){
this.name = name;
this.color = color;
};
var database = {};
database['banana'] = new Fruit("Banana", "Yellow");
database['apple'] = new Fruit("Apple", "Red");
database['orange'] = new Fruit("Orange", "Orange");
database['apple pear'] = new Fruit("Apple Pear", "Green");
我如何使用自动完成功能,以便如果用户键入"apple",它将为他们提供一个选项,从下拉菜单中选择"apple"或"apple pear",并在您单击表单文本框时填充它?有点像谷歌在你尝试键入内容时给出的建议。
我在想我想使用jqueryhttp://jqueryui.com/autocomplete/但我不知道如何实现它。
$( "#Fruit" ).autocomplete({
source: database // How would you implement this?
});
这不是我的完整代码,但上次我发布所有代码时,它太多了,无法阅读,所以我创建它只是为了给我一个尝试做什么的例子。
你走在了正确的轨道上。jQueryUI的自动完成小部件接收一组项目进行选择。我们可以使用jQuery的map方法将数据库对象映射到一个键数组,然后将其用作自动完成源。
<form name="searchForm">
<input type="text" id="Fruit" name="getFruit"/>
</form>
function Fruit(name, color){
this.name = name;
this.color = color;
};
var database = {};
database['banana'] = new Fruit("Banana", "Yellow");
database['apple'] = new Fruit("Apple", "Red");
database['orange'] = new Fruit("Orange", "Orange");
database['apple pear'] = new Fruit("Apple Pear", "Green");
var source = $.map(database, function(val, i) {
return i;
});
$( "#Fruit" ).autocomplete({
source: source
});
在jsFiddle上试试吧!
Twitter Bootstrap有一个很好的jQuery插件,可以为您做到这一点:http://twitter.github.com/bootstrap/javascript.html#typeahead
只需使用
$( element ).typeahead( { source: arrayOrFunction } );
它有很好的文档记录,所以你应该能够弄清楚
jQueryUI的自动完成也以类似的方式完成。只需传递一个字符串数组或一个函数,该函数将查询作为第一个参数,将回调作为第二个参数,然后使用自动完成选项调用回调。
相关文章:
- 延迟的javascript/jQuery搜索使用TypeScript不等待
- 在单个页面中进行多次JQuery搜索
- 使用JS和jQuery搜索HTML表
- 使用jQuery搜索链接HREF值
- 使用Jquery搜索-查找多个术语
- Jquery搜索表可以'找不到带括号的单词
- 页面加载时的JQuery搜索
- 如何使用javascript/jquery/c#搜索和选择包含特殊字符的文本
- jQuery 搜索使用 .find 标签内的内容
- jquery搜索框和按钮
- 如何使用 js/jquery 搜索之前附加的文本
- jQuery搜索和替换不起作用(Wordpress)
- jQuery - 搜索结果视图 - List & Grid
- 使用 Jquery 搜索自身下的第一个元素
- 使用 jquery 搜索
- 使用 PHP、AJAX 和 jQuery 搜索 MySQL 数据库
- js jquery搜索并在键入名称时保持可见
- 使用 jQuery 搜索和过滤引导面板
- 通过jquery搜索列表(不区分大小写)
- 如何使用 jQuery 搜索名称以“ABC_”或“XYZ_”开头的任何元标记