jquery 搜索自动提示(autocomplete插件用法)

1.用autocomplete插件前要加载,(js文件和css样式文件)两个文件

<script src="/javascripts/jquery-ui-1.8.14.custom.min.js" language="javascript"></script>

<link href="/stylesheets/jquery-ui-1.8.14.custom.css" rel="stylesheet" type="text/css"/>

 

 

2.如果不用与数据库链接,则直接写如下代码:

 

$(document).ready(function(){

   var array_tags=['iphone','ipad','nok','moto'];
   $("#tj_tags").autocomplete({
	    source: array_tags  //source中添加的是一组数组
   });

});

 

 

 

3.如果要从数据库中取数据,则就要添加ajax请求,代码如下:

//这段代码,在下拉框中实现你想要出现的效果
//item:表示每一行的一个值
//ul:不用管它直接写上就可以了(它代表你每一行要添加到哪里的div或其它)
$(document).ready(function(){

$.ui.autocomplete.prototype._renderItem = function (ul, item) { 
            return $("<li></li>") 
                    .data("item.autocomplete", item) 
                    .append("<a>" + item.label + "<span style='float:right;'>约<font style='color:#f50;'>"+item.amount+"</font>件产品</span></a>") 
                    .appendTo(ul); 
    }; 

	//这里的ajax返回类型可以随自己定义,本代码后台把字符串传给前台,
	$("#tj_tags").autocomplete({
	    source: function(request, response){
			$.ajax({
				url: "/w/find_related_records",
				type: "GET",
				data: { 
				   keyword : $('#tj_tags').val() 
				},
				success:function(xml_data){
					var tj_array=xml_data.split("_");  //代码是通过"_"分割
					response($.map(tj_array,function(item){
						return {
							label:item.split("***")[0],    //这里的label与amount与上面代码中用到的密切相关
							amount:item.split("***")[1]
						}
					}));
				}
			});
		},
		minLength: 1    //搜索时,最少1个字符时出结果
	});
});

 

 

3.界面中的代码

<input id="tj_tags" name="q" type="text" autocomplete="off" class="tj_input" value="ip" />

 

 

4.效果图

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值