jQuery.ui autoComplete使用
官网 http://api.jqueryui.com/autocomplete/#option-source
参考了 http://www.cnblogs.com/lwme/archive/2012/02/12/jquery-ui-autocomplete.html 写的很好 大家去看看
首先要说明的是 如果在网上直接搜索 autocomplete 的话 会得到很多不同的插件
比如这个页面http://www.open-open.com/ajax/AutoComplete.htm 相同功能的插件有3页
我这里用的时 jQuery.ui 下的一个补全插件
下面用三种方式获取
一种是静态数据 一种是远程的写好的静态json格式数据 还有一种是后台根据输入的不同数据返回不同的值
<!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>
<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> <div class="ui-wight">
<label for="jsonp">rakusTag</label>
<input id="jsonp"/>   下面有指定参数 输入的字符最小是2个才开始传送数据
</div> <script type="text/javascript">
$(function(){
$("#jsonp").autocomplete({
source: function(request, response) {
$.ajax({
url: "http://ws.geonames.org/searchJSON",
dataType: "jsonp",
data: {
featureClass: "P",
style: "full",
maxRows: 12,
name_startsWith: request.term
},
success: function(data) {
response($.map(data.geonames, function(item) {
return {
label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
value: item.name
}
}));
}
});
},
minLength: 2
});
});
</script> <div class="ui-wight">
<label for="find_group_ac">rakusTag</label>
<input id="find_group_ac"/>
</div> <script type="text/javascript">
$(function(){
$("#find_group_ac").autocomplete({
source: function(request, response) {
$.ajax({
url: "autocomplete.php",
dataType: "json",
data: {
term: request.term
},
success: function(data) {
response($.map(data.items, function(item) {
return {
label: item.name,
value: item.name
}
}));
}
});
},
minLength: 1
});
});
</script>
</body>
</html>
后台
<?php
$val=$_REQUEST['term'];
$ret="";
function StartsWith($Haystack, $Needle){
return strpos($Haystack, $Needle) === 0;
} if(StartsWith($val,'a')){
$ret="{\"items\":[{\"name\":\"ACC\",\"description\":\"desc\"},{\"name\":\"acm\",\"description\":\"desc\"},{\"name\":\"array\",\"description\":\"desc\"}]}";
if(strpos($val,'ac')!==false){
// echo 'ac';
$ret="{\"items\":[{\"name\":\"ACC\",\"description\":\"desc\"},{\"name\":\"acm\",\"description\":\"desc\"}]}";
if(strpos($val,'acc')!==false){
// echo 'acc';
$ret="{\"items\":[{\"name\":\"ACCR\",\"description\":\"desc\"},{\"name\":\"according\",\"description\":\"desc\"}]}";
}
}
}else if(StartsWith($val,'b')){
$ret="{\"items\":[{\"name\":\"base\",\"description\":\"desc\"},{\"name\":\"bonni\",\"description\":\"desc\"},{\"name\":\"boot\",\"description\":\"desc\"}]}";
}else if(StartsWith($val,'c')){
$ret="{\"items\":[{\"name\":\"candy\",\"description\":\"desc\"},{\"name\":\"clone\",\"description\":\"desc\"},{\"name\":\"crocs\",\"description\":\"desc\"}]}";
}else {
$ret="";
}
echo $ret;
?>
最后送一个 检查json数据 是否正确的工具 http://jsonlint.com/
jQuery.ui autoComplete使用的更多相关文章
- jQuery UI AutoComplete的使用
		
现场提出优化单,Table Mapping里关于获取数据源下所有表名的地方由于表数量过多选择不便,需添加搜索功能.原本的实现是一个Dialog ,现打算将其改为AutoComplete. 框架使用的是 ...
 - Jquery ui autocomplete简单api
		
重要说明:与配置选项类似,Autocomplete插件的方法也不是直接调用,而且通过autocomplete()方法进行间接调用.例如: $("#title").autocompl ...
 - jquery ui autocomplete 实现点击文本框,出现所有查询信息效果,与bootstrap结合使用修改样式
		
直接看代码 <!doctype html> <html lang="en"> <head> <meta charset="utf ...
 - jQuery ui autocomplete下拉列表样式失效解决,三种获取数据源方式,
		
jQuery有很多很多的已经实现,很漂亮的插件,autocomplete就是其中之一.jQuery ui autocomplete主要支持字符串Array.JSON两种数据格式,jQuery ui b ...
 - jQuery UI Autocomplete是jQuery UI的自动完成组件(share)
		
官网:http://jqueryui.com/autocomplete/ 以下分享自:http://www.cnblogs.com/yuzhongwusan/archive/2012/06/04/25 ...
 - JQuery UI Autocomplete与jquery.autocomplete.js
		
程序中要把一个select改成可以下拉搜索的,就想到了使用下autocomplete.js大概是这么个东西. 问了下同学,推荐我使用Jquery Ui autocomplete,下载下来开始调试使用, ...
 - 可输入自动匹配Select——jquery ui  autocomplete
		
<!doctype html> <html lang="en"> <head> <meta charset="utf-8&quo ...
 - jquery UI autocomplete当输入框焦点聚焦时自动弹出跟随下拉框
		
$("#search").autocomplete({ minLength: 0, source: function(request,response){ // request对象 ...
 - jQuery UI Autocomplete Combobox 配 ASP.NET DropDownList
		
0.引言 1.起因 一开始使用Autocomplete做了一个自动补全的文本框,如上图.后来因业务需要希望能在这个文本框的边上做个下拉列表按钮,一按就展开所有支持 ...
 
随机推荐
- 切点算法模板(Cut-vertex)
			
下面是一个模板被切割点,也cut_vertex_num[]排列(array)什么是切 - 点记录 Int cut_vertex_num[]; void dfs(int cur,int pa) { in ...
 - HTTP的报文格式解析
			
一.概述 http报文是面向文本的,报文中每一个字段都是一些ASCII码串,各个字段的长度是不确定的.http有两类报文:请求报文 响应报文 二.请求报文 一个http请求报文由 请求行(reque ...
 - GridView隔行样式
			
<AlternatingRowStyle BorderColor="#FF99CC" BorderStyle="Solid" />
 - mysql在查询结果中增加排序字段
			
ELECT userId , () AS runRank , mostFast1 FROM user_info, ()) b WHERE mostFast1 IS NOT NULL ORDER BY ...
 - leetcode 60. Permutation Sequence(康托展开)
			
描述: The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of t ...
 - poj 2155 matrix 二维线段树
			
题目链接 区间翻转, 单点查询, 查询操作我真是不太明白...... #include <iostream> #include <vector> #include <cs ...
 - latex如何把目录页的页码去掉?
			
页眉的显示与关闭,清空,还有样式之间的切换,需要用到如下几个命令: \pagestyle 用于设置当前页以及后续页面的页眉显示情况(可称为页版式).中间页版式可由\thispagestyle命令来指 ...
 - Cortex-M3动态加载三(模块调用系统函数)
			
在我的arm动态加载实验中需要解决一个模块调用系统函数的问题,可以使用以下的一个方法.将系统函数固定在某一段地址空间,然后导出这一块的符号表到符号文件中,要记载的模块link的时候使用这个符号表文件, ...
 - SSD的基本架构
			
在SSD的优势一章中,我们对比过HDD和SSD的内部区别.现在,我们再谈一下SSD的基本架构. 上图为一款典型的SSD架构图解,各部分的解释如下: 操作 ...
 - 苹果iPhone不能判断红外发射管的好坏
			
用手机来检测红外发射管好坏是目前比较常用的方法.实际操作比较简单,就是按照红外发射管的工作电压给发射管接上电源后,把手机的摄像头对着红外发射管就能看出好坏了.由于红外线是肉眼看不见的,如果不通过手机摄 ...