ajax实现百度一下模糊查询功能

news2024/11/24 11:59:46

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,同事关闭小li
    function 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.coloradmin.cn/o/989465.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【软考】系统架构设计师 - 知识扩展 - “区块链技术“

目录 一 简介&#x1f451; 1 比特币❤️ 2 区块链的特点❤️ 3 共识算法❤️ 二 练习题&#x1f451; 三 扩展&#x1f451; 1 哈希算法❤️ 2 哈希指针❤️ 3 UTXO❤️ 4 参考资料❤️ 一 简介&#x1f451; 1 比特币❤️ 比特币底层采用了区块链技术。 比特币交易…

android在java代码里面运行shell脚本,使用shell脚本杀死目标进程

android开发中使用shell脚本的比较少&#xff0c;即使使用也是在adb里面直接运行&#xff0c;但是今天我就记录一下怎么在java里面执行shell脚本。 注意&#xff1a;这个需要配置selinux权限&#xff0c;或者你可以直接把selinux权限关闭才能运行 一、写一个shell脚本 这里我…

npm publish包报404,is not in the npm registry错误

1. 指定发布目标2. 登录npm&#xff0c;使用登录名发布包&#xff0c;包名命名原则“登录名/包名”&#xff0c;或 “包名” 3. 删除某一个版本npm unpublish pvfhv/eslint-config-prettier1.0.1 --force 删除后的版本不能重复使用&#xff0c;正式解释&#xff1a; Unfortun…

蓝桥杯官网练习题(凑算式)

类似填空题&#xff1a; ①算式900&#xff1a; https://blog.csdn.net/s44Sc21/article/details/132746513?spm1001.2014.3001.5501https://blog.csdn.net/s44Sc21/article/details/132746513?spm1001.2014.3001.5501 ②九宫幻方③七星填数④幻方填空&#xff1a;https:/…

详解初阶数据结构之顺序表(SeqList)——单文件文件实现SeqList的增删查改

目录 一、线性表 二、顺序表 2.1概念及结构 2.2接口实现 2.3动态顺序表的创建 2.3动态顺序表的初始化 2.3.1传值初始化 2.3.2传址初始化 2.4动态顺序表的清空 2.5动态顺序表的扩容 2.6动态顺序表内容的打印 三、动态顺序表的使用 3.1尾插尾删 3.1.1尾插 3.1.2尾删…

PHP表单token验证防CSRF攻击

在PHP中&#xff0c;表单token是一种安全机制&#xff0c;用于防止跨站请求伪造&#xff08;CSRF&#xff09;攻击。 CSRF攻击是一种利用用户身份在未经授权的情况下执行非法操作的攻击方式。 表单token的原理是在表单中生成一个随机的token&#xff0c;并将其存储在服务器端…

第 2 章 线性表 (线性表的静态单链表存储结构(一个数组只生成一个静态链表)实现)

1. 背景说明 A { c, b, e, g, f, d }B { a, b, n, f } 2. 示例代码 1) status.h /* DataStructure 预定义常量和类型头文件 */#ifndef STATUS_H #define STATUS_H#define CHECK_RET(ret) if (ret ! RET_OK) { \printf("FuncName: %-15s Line: %-5d ErrorCode: %-3d\n&…

【Redis】Lua脚本在Redis中的基本使用及其原子性保证原理

文章目录 背景一、Eval二、EvalSHA三、Redis 对 Lua 脚本的管理3.1 script flush3.2 script exists3.3 script load3.4 script kill 四、Lua在Redis中原子性执行的原理 背景 Lua 本身是一种轻量小巧的脚本语言&#xff0c;在Redis2.6版本开始引入了对Lua脚本的支持。通过在服务…

高并发环境下压测故障

文章目录 一、高并发压测故障二、JVM 调优1. 堆内存调优2. 堆外内存调优 一、高并发压测故障 每次在大促之前&#xff0c;我们都需要对服务进行压测。而在压测期间&#xff0c;突然爆发了红灯告警&#xff0c;订单量直接少了一半&#xff0c;这是一次很严重的压测故障。首先看…

公司快递账单管理智能化教程

今时不同往日&#xff0c;企业寄件早已摆脱纸质面单&#xff0c;向更为便捷的电子面单过渡。众快递公司为了留住大客户&#xff0c;为其提供更好的服务&#xff0c;早早推出月结模式寄件。办公族应该不陌生&#xff0c;企业如果和快递公司签订月结协议的话&#xff0c;员工寄件…

SEO扫地僧站群·静态生成式养站王,万站秒建,批量养站神器介绍

扫地僧站群静态养站王,程序采用了"织梦CMS"式静态生成式的方式&#xff0c;只需要一个后台管理系统即可管理多个网站&#xff0c;大大提高了建站效率,程序可以适配各种采集器获得的内容&#xff0c;可以方便地实现内容的快速采集,程序支持实时统计和广告插入&#xf…

leetcode刷题--栈与递归

文章目录 1. 682 棒球比赛2. 71 简化路径3. 388 文件的最长绝对路径4. 150 逆波兰表达式求值5. 227. 基本计算器II6. 224. 基本计算器7. 20. 有效的括号8. 636. 函数的独占时间9. 591. 标签验证器10. 32.最长有效括号12. 341. 扁平化嵌套列表迭代器13. 394.字符串解码 1. 682 棒…

docker 部署vue

1&#xff1a; 首先部署nginx docker run --name nginx -d -p 88:80 nginx 2&#xff1a;访问 http://xxxxxxx:88/ 3: 进入nginx docker exec -it nginx /bin/sh 4: 回到vs&#xff0c;编译项目 npm run build 得到dist文件夹 5&#xff1a;创建docker 6&#xff1a; 将…

量化交易最新12篇顶会论文及开源代码汇总(WWW23、AAAI23、KDD23)

对比普通的交易方式&#xff0c;量化交易具有高效性、稳定性以及强风险控制能力&#xff0c;因此&#xff0c;量化交易在金融领域中已经得到了广泛的应用&#xff0c;目前已有许多大型投资机构和对冲基金将量化交易列为其投资组合的重要部分。 本次分享的是我从各大顶会中精选…

826. 安排工作以达到最大收益;2257. 统计网格图中没有被保卫的格子数;816. 模糊坐标

826. 安排工作以达到最大收益 核心思想&#xff1a;排序维护最大利润。首先我们需要对工人按照能力排序&#xff0c;前面工人满足的最大利润后面的工人肯定是满足的&#xff0c;所以我们只需要用一个tmp来维护小于等于当前工人的最大利润&#xff0c;然后如何得到tmp&#xff…

java.lang.Exception: No runnable methods

无可执行test方法异常&#xff0c;报错为&#xff1a; 1.查看是否添加了Test注解在执行的方法上 2.查看测试类的注解 3.查看test类的导包&#xff0c;一定要是junit的。

【SpringMVC】RESTful风格CRUD实现

目录 一、REST简介 1.1 什么是REST? 1.2 REST风格的优点 1.3 请求方式 二、构建项目 ⭐思路分析 2.1 环境准备 2.1.1 导入相关pom依赖 2.1.2 jdbc.properties&#xff1a;配置文件 2.1.3 配置代码生成器 generatorConfig.xml 2.1.4 spring与mybatis整合的配置文件 s…

开机性能-如何抓取开机systrace

一、理论 1.背景 抓取开机 trace 需要使用 userdebug 版本&#xff0c;而我们测试开机性能问题时都要求使用 user 版本&#xff0c;否则会有性能损耗问题。因此想要在抓取开机性能trace 时&#xff0c;需要在 user 版本上打开 atrace 功能之后才能抓取 trace&#xff0c;默认 …

什么是CE认证?CE认证如何办理?亚马逊欧洲站产品适用范围

什么是CE标志&#xff1f; CE标志是欧盟强制认证标志&#xff0c;代表着产品符合欧洲指令的基本要求。这意味着&#xff0c;只有经过认证并贴上CE标志&#xff0c;你的产品才能合法地进入欧洲市场销售。那么&#xff0c;如何让你的产品贴上CE标志呢&#xff1f;接着往下看。 如…

【刷题篇】贪心算法

文章目录 分割平衡字符串买卖股票的最佳时机Ⅱ跳跃游戏钱币找零 分割平衡字符串 class Solution { public:int balancedStringSplit(string s) {int lens.size();int cnt0;int balance0;for(int i0;i<len;i){if(s[i]R){balance--;}else{balance;}if(balance0){cnt;}}return …