js实现联想搜索

本文介绍了如何使用JavaScript实现动态联想搜索,通过监听输入事件,实现在关键字输入时实时更新搜索结果,类似百度搜索的体验。主要涉及的技术点包括事件委托delegate和keyup/keydown事件。

功能:根据关键字联想搜索出结果后,根据关键字的变化,实时出现结果,类似于百度搜索的功能

1、delegate的用法,专门用在子元素上绑定的事件 delegate("p", "click", function() {    }

2  、key up key down 事件 可以用 

$(".input").on('input', function(e) {}



$("#searchres").delegate("p", "click", function() {
			$("#searchText").val($(this).text());
		});
		$("#searchText").keyup(function(e) {
			var key = e.keyCode;
			if ((key >= 48 & key <= 57) || key == 8) {
				var val = $.trim($(this).val());
				if ("" == val) {
					alert("输入内容不能为空")
				} else {
					$.ajax({
						type : "POST",
						url : "GoodsServlet",
						data : {
							"type" : "key",
							"value" : val
						},
						success : function(msg) {
							if ("无结果" == msg) {
								$("#searchres").html("<p>" + msg + "</p>");
							} else {
								var obj = eval("(" + msg + ")");
								var str = "";
								for (var i = 0; i < obj.length; i++) {
									str = str + "<p>" + obj[i].gid + "</p>";    
								}
								$("#searchres").html(str);
							}
						}
					}
					);
				}
			}
		}
		);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值