搜索提示框实现
来源:互联网 发布:什么是主域名与子域名 编辑:程序博客网 时间:2024/05/16 15:54
最近的项目中,需要设计一个类似百度搜索提示框的效果。使用的bootstrap的列表组样式
头部引入
<link rel="stylesheet" href="${ctx}/static/script/prompt/bootstrap/css/bootstrap.css" ><script src="${ctx}/static/js/jquery-1.10.2.js" ></script><script src="${ctx}/static/script/prompt/bootstrap/js/bootstrap.js"></script>
js编写
<script type="text/javascript"> //判断是否空字符串或空格 function isNull( str ){if ( str == "" ) return true;var regu = "^[ ]+$";var re = new RegExp(regu);return re.test(str);} function skkip(name){//alert(name);//debugger;$("#value").val(name);$("#completeShow").hide();}$(function(){//绑定事件$("#value").keyup(function(){//2.使用ajax访问服务器//2.1 获得数据var searchWord = $("#value").val();if(isNull(searchWord)){$("#completeShow").hide();return;}//清空$("#addPrompt").html("");//2.2 发送请求$.ajax({url : ctx+'/search/prompt',type : "post",data : {"entname":searchWord},datatype : 'json',async : false,//同步执行success : function(data) {//alert(data);//**$(data).each(function(){//alert(data.lenght);//this代表当前product的对象//alert(this.pname);/* <ul class="list-group" id="addPrompt"> <li class="list-group-item">Cras justo odio</li></ul> *///添加数据 向ul里添加 此处append是追加 在每一次搜索之前清空//debugger;$("#addPrompt").append(" <li class='list-group-item' onclick=\"skkip('"+this+"')\">"+this+"</li>");$("#completeShow").show();});//**},error : function(data) {//alert("error");}})});$("#value").focusout(function() { $("#completeShow").hide("fast");}); $("#value").focusin (function() { $("#completeShow").show("fast");}); }) </script>
搜索框及下拉框
<input type="text" id="value" name="value" placeholder="请输入医院 如“北大医院”" autofocus="">
<div id="completeShow" style="width:665px;display:block;overflow:hidden"> <ul class="list-group" id="addPrompt" style="margin-top:0" ></ul> </div>
controller接口返回的是List集合,从solr查的数据@Controller@RequestMapping("/search")public class SearchPromptController {@RequestMapping("/prompt")@ResponseBodypublic List<String> searchprompt(HttpServletRequest request,String entname) throws Exception{Object obj = RedisUtils.get(ConstantUtils.RedisDomain.SOLR_INTERFACE_DN, ConstantUtils.SolrName.YLQST_ENTFIND,RedisUtils.DB.DB0);String solrUrl = obj.toString() ;List<String> list=new ArrayList<String>(); HttpSolrClient solrServer = new HttpSolrClient(solrUrl); SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery(entname); //设置默认搜索Field域solrQuery.set("df", "ENTNAME"); solrQuery.setStart(0); solrQuery.setRows(5); QueryResponse queryResponse = solrServer.query(solrQuery); SolrDocumentList results = queryResponse.getResults(); for (SolrDocument solrDocument : results) { list.add((String) solrDocument.get("ENTNAME")); //System.out.println(solrDocument.get("ENTNAME"));} return list;}}
最后的效果如图:
参考文章:
js判断输入字符串是否为空、空格、null的方法总结
阅读全文
0 0
- 搜索提示框实现
- js实现搜索提示框
- jquery实现搜索框类似提示功
- jQuery实现搜索框自动提示功能
- 如何用ajxa实现搜索提示框
- 百度搜索框提示功能简单实现
- keyup模糊搜索提示框实现原理
- Servlet+Ajax实现搜索框智能提示
- Android 下拉搜索提示框的实现
- 实现搜索框提示功能的方法
- Servlet+Ajax实现搜索框智能提示
- JQUERY实现搜索提示
- AJax实现的搜索提示
- C++ 实现 google搜索提示
- AutoCompleteTextView实现自动提示搜索
- php实现搜索提示功能
- 使用AutoCompleteExtender实现搜索下拉提示框,读取数据库内容
- C# 实现百度搜索框智能提示功能
- 前端页面Double转换Integer,input前段页面的类型转换
- Python全局变量和局部变量
- Spring boot Hibernate SSerializationException: could not deserialize invalid stream header
- 用select实现TCP回射程序(服务器及客户端)
- SQL Server2008 学习之(十二) :XML存储与查询技术
- 搜索提示框实现
- 机器学习第5章第1节(下) : 针对两类函数训练神经网络
- 1004. 成绩排名 (20)
- nginx 实现 反向代理 负载均衡
- HDU 1713 相遇周期(求两个分数的最小公倍数)
- 计算球体积
- jvm类加载顺序
- Unity使用Cardboard、MojingSDK等VR插件的3DUI(UGUI)凝视效果的实现(V客学院知识分享)
- Android bitmap旋转、平移简单几何变换很方便