仿百度搜索自动输入提示功能JQuery Autocomplete
2013-09-12 13:07
921 查看
官方网址:http://api.jqueryui.com/autocomplete/
官方案例:http://jqueryui.com/autocomplete/
大概效果如下图
此功能最主要的参数是source,所以放到最前面来写
设置匹配菜单中的数据项,设置方式:
1、string数组参数,格式:["Choice1","Choice2"]
例如,初始化时:
$(".selector").autocomplete({source:["c++","java","php","coldfusion","javascript","asp","ruby"]});
初始化后
//getter
varsource=$(".selector").autocomplete("option","source");
//setter
$(".selector").autocomplete("option","source",["c++","java","php","coldfusion","javascript","asp","ruby"]);
2、object数组参数,格式[{label:"Choice1",value:"value1"},...]
其中label是在匹配菜单中显示项的值,而value,是选中此匹配项后,append到<input>中的真实值
3、string参数
如果是string参数,则是指定一个远程的数据源,然后当<input>中有输入变化,即change事件后,会自动将输入的内容,以GET方式发送到远程数据源,其中输入内容以term参数保存;
例如,参数为http://remoteSource,那么在用户输入abc后,将会发送一个GET请求如http://remoteSource?term=abc
返回的结果必须以json格式,数据格式如上面1、2描述
4、function参数,格式Function( Object request, Function response( Object data
))
这种参数最灵活,可以让你以自己的方式向服务器发出查询,并自己解析数据,最后将数据回写到response即可
$(".selector").autocomplete({
source:function(request,response){
//获取用户输入
varterm=request.term;
//根据自定义方式从服务器获取数据
...
//还可以自己解析数据
..
//最后把数据按照前面1、2描述的格式,放到response中
response(data);
}
});
[b]功能支持:[/b]
此自动补全功能,支持<input><textarea>或者有
键盘操作:
1、上下键可以选择匹配项
2、esc建可以关闭匹配菜单
3、enter建可以选择当前选中的匹配项
4、pageuppagedown可以操作匹配菜单中的滚动条
CSS:
1、ui-autocomplete:匹配菜单中匹配项的css属性
2、ui-autocomplete-input:输入框的属性
依赖:
<linkrel="stylesheet"href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"/>
<scriptsrc="http://code.jquery.com/jquery-1.9.1.js"></script>
<scriptsrc="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
指定匹配菜单中的匹配项,将匹配内容补填到哪个标签;一般都是默认补填到<input>标签中
初始化时,用如下方式设置:
$(".selector").autocomplete({appendTo:"#someElem"});初始化后,用如下方式设置获取
//getter
varappendTo=$(".selector").autocomplete("option","appendTo");
//setter
$(".selector").autocomplete("option","appendTo","#someElem");
默认为false,设置成true时,则匹配菜单中的第一个匹配项,会默认被选中,效果如下图:
初始化:
$(".selector").autocomplete({autoFocus:true});
初始化后:
//getter
varautoFocus=$(".selector").autocomplete("option","autoFocus");
//setter
$(".selector").autocomplete("option","autoFocus",true);
设置输入时,键盘按键后,匹配菜单显示的延时时间
初始化:
初始化后:
禁用
初始化:
初始化后:
出现匹配菜单的最小必输长度
初始化:
$(".selector").autocomplete({minLength:0});初始化后:
//getter
varminLength=$(".selector").autocomplete("option","minLength");
//setter
$(".selector").autocomplete("option","minLength",0);
设置匹配菜单的相对位置
默认值{my:"lefttop",at:"leftbottom",collision:"none"}
初始化
$(
".selector"
).autocomplete({position:{my:"righttop",
at:"rightbottom"
}});
初始化后
剩下的是一些方法和事件,都比较容易理解,就不一一翻译了
官方案例:
大概效果如下图
此功能最主要的参数是source,所以放到最前面来写
source
设置匹配菜单中的数据项,设置方式:1、string数组参数,格式:["Choice1","Choice2"]
例如,初始化时:
$(".selector").autocomplete({source:["c++","java","php","coldfusion","javascript","asp","ruby"]});
初始化后
//getter
varsource=$(".selector").autocomplete("option","source");
//setter
$(".selector").autocomplete("option","source",["c++","java","php","coldfusion","javascript","asp","ruby"]);
2、object数组参数,格式[{label:"Choice1",value:"value1"},...]
其中label是在匹配菜单中显示项的值,而value,是选中此匹配项后,append到<input>中的真实值
3、string参数
如果是string参数,则是指定一个远程的数据源,然后当<input>中有输入变化,即change事件后,会自动将输入的内容,以GET方式发送到远程数据源,其中输入内容以term参数保存;
例如,参数为http://remoteSource,那么在用户输入abc后,将会发送一个GET请求如http://remoteSource?term=abc
返回的结果必须以json格式,数据格式如上面1、2描述
4、function参数,格式
))
这种参数最灵活,可以让你以自己的方式向服务器发出查询,并自己解析数据,最后将数据回写到response即可
$(".selector").autocomplete({
source:function(request,response){
//获取用户输入
varterm=request.term;
//根据自定义方式从服务器获取数据
...
//还可以自己解析数据
..
//最后把数据按照前面1、2描述的格式,放到response中
response(data);
}
});
[b]功能支持:[/b]
此自动补全功能,支持<input><textarea>或者有
contenteditable属性的标签
键盘操作:
1、上下键可以选择匹配项
2、esc建可以关闭匹配菜单
3、enter建可以选择当前选中的匹配项
4、pageuppagedown可以操作匹配菜单中的滚动条
CSS:
1、ui-autocomplete:匹配菜单中匹配项的css属性
2、ui-autocomplete-input:输入框的属性
依赖:
<linkrel="stylesheet"href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"/>
<scriptsrc="http://code.jquery.com/jquery-1.9.1.js"></script>
<scriptsrc="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
appendTo:
指定匹配菜单中的匹配项,将匹配内容补填到哪个标签;一般都是默认补填到<input>标签中初始化时,用如下方式设置:
$(".selector").autocomplete({appendTo:"#someElem"});初始化后,用如下方式设置获取
//getter
varappendTo=$(".selector").autocomplete("option","appendTo");
//setter
$(".selector").autocomplete("option","appendTo","#someElem");
autoFocus:
默认为false,设置成true时,则匹配菜单中的第一个匹配项,会默认被选中,效果如下图:初始化:
$(".selector").autocomplete({autoFocus:true});
初始化后:
//getter
varautoFocus=$(".selector").autocomplete("option","autoFocus");
//setter
$(".selector").autocomplete("option","autoFocus",true);
delay
设置输入时,键盘按键后,匹配菜单显示的延时时间初始化:
$(".selector").autocomplete({delay:500});
初始化后:
//getter
vardelay=$(".selector").autocomplete("option","delay");
//setter
$(".selector").autocomplete("option","delay",500);
disabled
禁用初始化:
$(".selector").autocomplete({disabled:true});
初始化后:
//getter
vardisabled=$(".selector").autocomplete("option","disabled");
//setter
$(".selector").autocomplete("option","disabled",true);
minLength
出现匹配菜单的最小必输长度初始化:
$(".selector").autocomplete({minLength:0});初始化后:
//getter
varminLength=$(".selector").autocomplete("option","minLength");
//setter
$(".selector").autocomplete("option","minLength",0);
position
设置匹配菜单的相对位置默认值{my:"lefttop",at:"leftbottom",collision:"none"}
初始化
$(
".selector"
).autocomplete({position:{my:"righttop",
at:"rightbottom"
}});
初始化后
//getter
varposition=$(".selector").autocomplete("option","position");
//setter
$(".selector").autocomplete("option","position",{my:"righttop",at:"rightbottom"});
剩下的是一些方法和事件,都比较容易理解,就不一一翻译了
相关文章推荐
- jquery最新插件Autocomplete搜索自动提示功能
- jQuery.Autocomplete实现自动完成功能-搜索提示功能
- PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
- PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
- jquery最新插件Autocomplete搜索自动提示功能
- Android基础教程(八)之仿百度谷歌搜索自动提示框-----AutoCompleteTextView的应用
- Asp.net文本框输入提示功能(jquery-autocomplete)
- jQuery+PHP+Mysql实现输入自动完成提示的功能
- 【输入智能提示功能】PHP+jQuery实现自动补全功能
- 基于jquery实现的类似百度搜索的输入框自动完成功能
- jquery 实现输入邮箱时自动补全下拉提示功能
- JS仿百度搜索自动提示框匹配查询功能
- JS仿百度搜索自动提示框匹配查询功能
- 【表单提示建议/自动完成功能】jquery autocomplete插件的使用及其改进
- Jquery插件仿百度搜索关键字自动匹配功能
- 在Django中试用jQuery的Autocomplete插件,实现自动提示功能
- Android基础教程(八)之仿百度谷歌搜索自动提示框-----AutoCompleteTextView的应用
- asp.net下使用jQuery.AutoComplete完成仿淘宝商品搜索自动完成功能(改进了键盘上下选择体验)
- jQuery+PHP+Mysql实现输入自动完成提示的功能
- 模仿百度搜索的自动提示功能 高大上