当前位置: 首页 > news >正文

AjaxJavaScriptcss模仿百度一下模糊查询功能

1、效果

如下图所示,我们在输入大学时,程序会到后端查询名字中包含大学的数据,并展示到前端页面。
用户选择一个大学,该大学值会被赋值到input表单,同时关闭下拉表单;
当页面展示的数据都不符合条件时,用户点击空白处,可关闭表单。
在这里插入图片描述

2、前端

2.1、页面html代码

在这里插入图片描述

<label class="layui-form-label required" th:text="#{register.unit}">单位名称:</label>
<div class="layui-input-block"><input type="text" id="UNIT" name="" th:placeholder="#{register.enterUnit}" autocomplete="off" class="layui-input">
</div>
<div id="show" class="layui-form-item" style="display: none"></div>

2.2、页面js代码

<script>$(function () {//用于监听键盘事件$("#UNIT").bind('input porpertychange', function () {var word = $(this).val();if (word != "") {$.ajax({url: "./keyword",data: {"name": word},type: "post",dataType: "json",success: function (obj) {console.log(obj);var htmlStr = "";for (var i = 0; i < obj.length; i++) {htmlStr += "<li style='list-style: none' onclick='demo(this)'>" + obj[i] + "</li>";}$("#show").html(htmlStr).show();}})} else {$("#show").hide();}})})//监听用户点击li的事件,用户选择一个小li,小li的值被赋值给input,同时关闭小lifunction demo(dom) {$("#UNIT").val(dom.innerText);$("#show").hide();}//监听鼠标点击事件,当后端返回没有符合条件的数据时,用户点击空白页面时,关闭show$(document).click(function(){$("#show").hide();});
</script>

2.3、页面css样式代码

<style type="text/css">* {margin: 0px;padding: 0px;}#UNIT {width: 100%;height: 42px;border-color: #4E6EF2;float: left;}#show {border: 1px solid #4e6ef2;position: relative;left: 20%;margin-right: 45%;text-align: left;}li:hover{background-color: rgba(0,120,212, 0.1);}</style>

3、后端

@RequestMapping("/keyword")
@ResponseBody
protected List unitData(HttpServletRequest req, HttpServletResponse resp) throws IOException {List<String> list=new ArrayList<>();List<String> universities = Arrays.asList("公安局,教育局,北京大学,清华大学,上海交通大学,浙江大学,厦门大学,河南大学,河北大学, 浙江大学,福建大学,广东大学,广西大学,四川大学,山东大学,陕西大学,山西大学,a1,a2,a3,aa,".split(","));for (String s : universities) {if(s.contains(req.getParameter("name"))){list.add(s);}}return list;
}
http://www.lryc.cn/news/160027.html

相关文章:

  • sqli-labs复现
  • k8s入门到实战--跨服务调用
  • 小程序中使用分包
  • python官方标准库
  • Python Opencv实践 - 霍夫圆检测(Hough Circles)
  • 异步请求库的实际应用案例:爬取豆瓣经典电影
  • 数据结构学习系列之两个单向链表的合并
  • java网络编程,套接字socket
  • 一日一技:Python如何同时调用多个GPT的API?
  • 【云原生】Docker环境安装
  • 56、springboot ------ RESTful服务及RESTful接口设计
  • sysmonitor如何使用
  • 视频监控/视频汇聚/安防视频监控平台EasyCVR如何将默认快照的raw格式改为jpg/base64格式?
  • QRCode.js生成的二维码水平居中的解决方案
  • 在Cisco设备上配置接口速度和双工
  • 增益带宽积GBW
  • 二分搜索树节点的查找(Java 实例代码)
  • 2.9 PE结构:重建导入表结构
  • MybatisPlus插件功能详细介绍 自动分页 通用分页实体
  • ES kibana 创建索引快速脚本
  • 2023年09月编程语言流行度排名
  • linux对一个文件夹中的所有文件重命名
  • Greenplum执行SQL卡住的问题
  • Discourse 的系统日志
  • 【7z密码】如何给7z压缩包加密、解密?
  • InnoDB为什么使用B+Tree
  • 【Spring Bean的生命周期实现方式】
  • 腾讯云PK阿里云2核2G云服务器租用价格表
  • 【美团3.18校招真题2】
  • 一文带你快速入门『YOLOv8』