js插件-模糊搜索、自动补全下拉框

news2024/11/25 9:36:01

问题:一个老系统,让把所有jsp页面动态生成的<select>下拉选,选项过多的下拉选全部改为支持模糊搜索的下拉选的功能。系统框架只有 jq 和layui(仅用于列表和弹窗),

JQurey

首先想到的就是jQuery UI API – 自动完成部件(Autocomplete Widget) | 菜鸟教程

代码实现

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>自动完成部件(Autocomplete Widget)演示</title>
  <link rel="stylesheet" href="//apps.bdimg.com/libs/jqueryui/1.10.4/css/jquery-ui.min.css">
  <script src="//apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
  <script src="//apps.bdimg.com/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
</head>
<body>
 
<label for="autocomplete">选择一个编程语言:</label>
<input id="autocomplete">
 
<script>
var tags = [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ];
$( "#autocomplete" ).autocomplete({
  source: function( request, response ) {
          var matcher = new RegExp( "^" + $.ui.autocomplete.escapeRegex( request.term ), "i" );
          response( $.grep( tags, function( item ){
              return matcher.test( item );
          }) );
      }
});
</script>
 
</body>
</html>

如果一个查询页面有三个要改的下拉选,这个方式就需要在代码页面插入3块js脚本,前端看了直摇头,而且查询参数都是通过表单提交,没有id只有name,还需要额外在绑定id。手动实现码值映射等等。

Layui

然后再看系统有的这个layui框架

镜像站@表单 - 在线演示 - Layui

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>镜像站@Layui</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="https://layui.wc-os.com/res.layui.com/layui/dist/css/layui.css" tppabs="http://res.layui.com/layui/dist/css/layui.css"  media="all">
</head>
<body>

<form class="layui-form" action="">
    <div class="layui-form-item">
        <div class="layui-inline">
            <label class="layui-form-label">搜索选择框</label>
            <div class="layui-input-inline">
                <select name="modules" lay-verify="required" lay-search="">
                    <option value="">直接选择或搜索选择</option>
                    <option value="1">layer</option>
                    <option value="2">form</option>
                    <option value="3">layim</option>
                    <option value="4">element</option>
                    <option value="5">laytpl</option>
                    <option value="6">upload</option>
                    <option value="7">laydate</option>
                    <option value="8">laypage</option>
                    <option value="9">flow</option>
                    <option value="10">util</option>
                    <option value="11">code</option>
                    <option value="12">tree</option>
                    <option value="13">layedit</option>
                    <option value="14">nav</option>
                    <option value="15">tab</option>
                    <option value="16">table</option>
                    <option value="17">select</option>
                    <option value="18">checkbox</option>
                    <option value="19">switch</option>
                    <option value="20">radio</option>
                </select>
            </div>
        </div>
    </div>
</form>

<script src="https://layui.wc-os.com/res.layui.com/layui/dist/layui.js" charset="utf-8"></script>


</body>
</html>

这个layui本人不太会用,这个效果需要从表单开始,加上一层层的class才能生效,搬到页面上一个是破坏布局,另一个风格和当前系统不太适配。

于是乎,简单构思了一下,决定动手做一个。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2092954.html

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

相关文章

构建以数据为核心智慧型工业园区新架构方案

1. 项目背景与目标 智慧型工业园区新架构的构建旨在通过数据驱动实现节能、绿色、高效和安全的目标&#xff0c;以应对当前工业园区在基础数据收集、系统管理和操作复杂性方面的挑战。 2. 现状分析 当前工业园区的发展面临数据收集难题、系统分散、操作复杂以及孤岛效应&…

前端面试——八股文

一、Vue2篇 1. 关于生命周期 1.1 生命周期有哪些&#xff1f;发送请求在created还是mounted&#xff1f; 请求接口测试&#xff1a;https://fcm.52kfw.cn/index.php?_mall_id1&rapi/default/districtVue2.x系统自带有8个 beforeCreate created beforeMount mounted be…

电子签合同区块链存证合约小程序开源版开发

电子签合同区块链存证合约小程序开源版开发 电子合同底层对接的腾讯电子签接口&#xff0c;支持自定义模版发起合同和文件发起合同&#xff0c;支持骑缝章&#xff0c;多方签署&#xff0c;腾讯至信链提供区块链存证&#xff0c;安全高效签署合同文书。 特色功能 自定义合同模…

(计算机论文)基于SpringBoot和Vue的台球赛事服务网站的设计与实现

毕业设计&#xff08;论文&#xff09; 博主可接毕设论文&#xff01;&#xff01;&#xff01; 基于SpringBoot和Vue的台球赛事服务网站的设计与实现 摘 要 在快速发展的信息时代&#xff0c;体育竞赛作为群众文化娱乐的一部分&#xff0c;已日益受到广泛关注。台球&#xff…

Windows—线程基本知识和线程同步

线程 线程的组成 线程的内核对象&#xff0c;操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。线程堆栈&#xff0c;它用于维护线程在执行代码时需要的所有函数参数和局部变量 线程的进入点 每个线程必须拥有一个进入点函数&#xff0c;线程从…

备战2024年全国大学生数学建模竞赛:多波束测线问题的解题与优化

目录 一、引言 二、问题分析 三、解题思路与模型建立 问题1&#xff1a;覆盖宽度及重叠率计算 问题2&#xff1a;不同测线方向的覆盖宽度 问题3&#xff1a;最短测线的设计 问题4&#xff1a;基于单波束数据的测线设计 四、知识点解析 五、结果讨论与总结 六、模型的评…

X86架构(六)——硬盘访问与控制

在前面几节中&#xff0c;我们总是通过ROM-BIOS从硬盘的主引导扇区读取一段程序并加载到内存运行&#xff0c;但是处理器是如何访问硬盘呢&#xff1f;这是一个值得我们思考的问题 OK&#xff0c;我们先看一张图 所有这些和计算机主机连接的设备&#xff0c;叫做外围设备,也叫…

240831-Qwen2-VL-7B/2B部署测试

A. 运行效果 B. 配置部署 如果可以执行下面就执行下面&#xff1a; pip install githttps://github.com/huggingface/transformers accelerate否则分开执行 git clone https://github.com/huggingface/transformers cd transformers pip install . accelerate随后&#xff0…

8.27FLEX,BISON

RC ParseStage::handle_request(SQLStageEvent *sql_event) 这个意思是返回类型是RC&#xff0c;然后用到的函数来自 ParseStage&#xff0c;&#xff1a;&#xff1a;就是用来标识作用域的&#xff0c;函数名是handle_request&#xff0c;是ParseStage里的函数 FLEX BISON

vue.js项目实战案例详细源码讲解

​ 大家好&#xff0c;我是程序员小羊&#xff01; 前言&#xff1a; 为帮助大家更好地掌握Vue.js项目的开发流程&#xff0c;我将为你讲解一个完整的Vue.js实战案例&#xff0c;并提供详细的源码解析。这个案例将涵盖从项目创建到实现各种功能模块的全过程&#xff0c;适合用于…

组织培训如何分组?

在组织培训活动时&#xff0c;合理分组是提高效率和参与度的关键。云分组小程序提供了一个简单而有效的解决方案&#xff0c;帮助组织者快速、公平地将参与者分配到不同的小组中。以下是使用云分组小程序进行培训分组的详细步骤&#xff1a;一、创建分组 1. 打开云分组小程序。…

入坑大模型18个月的反思与贩私

前几天开完一个有高层参加的会议&#xff0c;会后组里的技术大佬直接就开喷“要规划没规划&#xff0c;整天只知道对着几个糊弄老板的榜使劲刷”。我下意识地赶紧去拉住他&#xff0c;低声对他讲“你声音太小了&#xff0c;老板听不到的&#xff0c;回头我领你去大厦的保安室&a…

Docker容器技术(下)超多好上手的实验,保姆级教程

文章目录 Docker数据卷管理及优化为什么要使用数据卷bind mount数据卷docker managed数据卷Data Volume Container&#xff08;数据卷容器&#xff09;bind mount数据卷 VS docker managed数据卷备份与迁移数据卷 Docker的安全优化Docker的资源限制限制CPU的使用限制CPU的使用量…

RAG重磅升级:DSF带来特定领域精准提升的全新方案!

检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;是一种结合了检索&#xff08;Retrieval&#xff09;和生成&#xff08;Generation&#xff09;能力的框架&#xff0c;通过从背景数据中检索相关信息来增强模型的生成输出。在当前的大型语言模型&…

Linux 安装mysql 数据库通用教程(rpm傻瓜安装)

通用教程&#xff1a;Centos7.9安装mysql8.0.39&#xff08;使用rpm 安装&#xff09; 目录 前言 下载镜像源 删除或查看旧版本 安装mysql 启动mysql mysql授权远程登录 前言 在本篇博客中&#xff0c;我将向您展示如何在CentOS 7.9系统上通过RPM包安装特定版本的MySQL…

神经网络搭建实战与Sequential的使用

一、需要处理的图像 二、对上述图片用代码表示&#xff1a; import torch from torch import nn from torch.nn import Conv2d, MaxPool2d, Flatten, Linearclass SUN(nn.Module):def __init__(self):super(SUN, self).__init__()self.conv1 Conv2d(3, 32, 5, padding2)self…

解决移动端使用Vant van-overlay 遮罩层导致的弹窗不可滚动问题

项目场景 在游戏门户网站需要根据弹出层列举出自己背包的饰品&#xff0c;然后进行选择置换。 问题描述 例如&#xff1a;在PC端的时候能物品过多的时候能正常左右滚动&#xff0c;而且启用Google的开发者工具进行查看的时候也是能正常滚动&#xff0c;但是在手机端访问的时候…

持续集成与持续部署(CI/CD)的深入探讨

在现代软件开发中&#xff0c;持续集成&#xff08;CI&#xff09;和持续部署&#xff08;CD&#xff09;已成为不可或缺的实践。这些方法旨在加快软件交付的速度&#xff0c;同时提高软件的质量和稳定性。通过CI/CD&#xff0c;开发团队可以频繁地将代码更改集成到主分支&…

Mate 60、Mate X5和Pocket 2新增AI修图功能:AI消除能力效果惊艳

你有没有试过拍照的时候不小心把路人拍进来&#xff0c;或者拍风景的时候有煞风景的事物闯入镜头中&#xff1f;有些美好的画面稍纵即逝、有些景点不复存在&#xff0c;看着略带瑕疵的照片&#xff0c;多少会感觉有点遗憾。 最近Mate 60、Mate X5和Pocket 2三款机型都进行了鸿…

Python sys.path与-m参数的作用

文章目录 Python sys.path与-m参数的作用sys.path作用验证结论 Python sys.path与-m参数的作用 sys.path作用 sys.path‌当试图导入一个模块时&#xff0c;Python解释器会按照sys.path中列出的路径顺序搜索对应的模块文件。 sys.path的组成包括当前目录&#xff08;即包含你…