Ajax实现智能提示搜索功能
程序员文章站
2022-04-29 09:26:08
一、效果图:
二、实现过程:
思路:
三、部分代码:
html:
一、效果图:
二、实现过程:
思路:
三、部分代码:
html:
<div id="searchbox"> <div><input type="text" id="txttitle" /></div> <div id="btnselect"><a href="javascript:;">google</a></div> </div> <div id="dtitles"></div>
css代码:
* { padding:0px; margin:0px; } #searchbox { margin-top:10px; height:37px; width:550px; } #searchbox div { float:left; } #txttitle { height:35px; width:440px; line-height:35px; border:solid 1px #4791ff; } #btnselect a{ width:100px; height:37px; background:#167ed9; display:block; line-height:37px; color:#ffffff; text-align:center; } a:link { text-decoration:none; } a:hover { cursor:pointer; } #dtitles { width:540px; height:90px; border:solid 1px #cccccc; display:none; font-size:12px; } .li1 { background:#f0f0f0; }
js代码:
$(function ()
{ //1.页面加载之后,找到文本框的内容对它触发一个事件 $("#txttitle").keyup(function () { //2.获取到文本框的内容,注意去空格 var title = $.trim($("#txttitle").val()); //3.获取到输入的内容之后,就要通过ajax传给后台 $.post("/handler3.ashx", { "title": title }, function (data) { if (title == "") { $("#dtitles").hide(); } else { //显示展示div,把它清空 $("#dtitles").show().html(""); if (data == "") { $("#dtitles").text("没有相关数据!"); } else { $("#dtitles").append(data); //4.鼠标移上去之后,加一个背景 $("li").hover(function () { $(this).addclass("li1"); }, function () { $(this).removeclass("li1"); }); } } }); }); });
ajax:
public void processrequest(httpcontext context) { //1.提交过来之后,我们要接收 string title=context.request.form["title"]; //2.得到一个sql语句 string strsql = string.format("select top 5 title from rnews where title like '%{0}%' ",title); //3.那得到sql怎么去做处理? datatable dt = sqlhelper.executedatasettext(strsql,null).tables[0]; //4.我们最后要返回的是一个列表,要做字符串拼凑 stringbuilder sb = new stringbuilder(); //4.1判断得到的sql结果里面是否有数据 if (dt.rows.count > 0) { //4.1.1 sb.append("<ul>"); for (int i = 0; i < dt.rows.count; i++) { sb.append(string.format("<li>{0}</li>", dt.rows[i][0].tostring())); } sb.append("</ul>"); } context.response.write(sb.tostring()); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 反向Ajax 30分钟快速掌握