下拉回显问题案例大全

news2024/9/29 17:38:39

下拉回显问题案例大全

在这里插入图片描述

一、原生js案例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>下拉框数据回显优化</title>
    <style>
        .container {
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            margin-top: 20px;
        }

        label {
            margin-right: 10px;
        }

        input,
        select {
            padding: 5px;
        }

        button {
            padding: 5px 10px;
            background-color: #007BFF;
            color: #fff;
            border: none;
            cursor: pointer;
        }
    </style>
</head>

<body>
    <div class="container">
        <label for="categoryInput">输入分类名称:</label>
        <input type="text" id="categoryInput">
        <button id="searchButton" style="margin-left: 10px;">下拉框回显</button>
    </div>
    <div class="container">
        <label for="categorySelect">选择分类:</label>
        <select id="categorySelect"></select>
    </div>

    <script>
        // 假设你的 JSON 数据更具体
        const jsonData = [
            { id: 1, name: "电子产品" },
            { id: 2, name: "家具" },
            { id: 3, name: "服装" },
            { id: 4, name: "食品" },
            { id: 5, name: "图书" },
            { id: 6, name: "鞋类" },
            // 添加更多分类...
        ];

        // 获取输入框、按钮和 select 元素
        const categoryInput = document.getElementById("categoryInput");
        const selectElement = document.getElementById("categorySelect");
        const searchButton = document.getElementById("searchButton");

        // 遍历 JSON 数据,创建 option 元素并添加到 select 中
        jsonData.forEach(category => {
            const option = document.createElement("option");
            option.value = category.id;
            option.text = category.name;
            selectElement.appendChild(option);
        });

        // 添加按钮点击事件监听器以实现搜索和回显选中的值
        searchButton.addEventListener("click", function () {
            const inputValue = categoryInput.value;
            // 在 select 中查找匹配的选项
            const matchingOption = Array.from(selectElement.options).find(option => option.text === inputValue);
            console.log(matchingOption)
            console.log(matchingOption.value)
            if (matchingOption) {
                selectElement.value = matchingOption.value;
            } else {
                // 如果没有匹配项,将选择框重置为空
                selectElement.value = "";
            }
        });
    </script>
</body>

</html>

二、Jquery案例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>下拉框数据回显优化 - jQuery 版本</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <style>
        .container {
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            margin-top: 20px;
        }

        label {
            margin-right: 10px;
        }

        input,
        select {
            padding: 5px;
        }

        button {
            padding: 5px 10px;
            background-color: #007BFF;
            color: #fff;
            border: none;
            cursor: pointer;
        }
    </style>
</head>

<body>
    <div class="container">
        <label for="categoryInput">输入分类名称:</label>
        <input type="text" id="categoryInput">
        <button id="searchButton" style="margin-left: 10px;">下拉框回显</button>
    </div>
    <div class="container">
        <label for="categorySelect">选择分类:</label>
        <select id="categorySelect"></select>
    </div>

    <script>
        // 假设你的 JSON 数据更具体
        const jsonData = [
            { id: 1, name: "电子产品" },
            { id: 2, name: "家具" },
            { id: 3, name: "服装" },
            { id: 4, name: "食品" },
            { id: 5, name: "图书" },
            { id: 6, name: "鞋类" },
            // 添加更多分类...
        ];

        // 获取输入框、按钮和 select 元素
        const categoryInput = $("#categoryInput");
        const selectElement = $("#categorySelect");
        const searchButton = $("#searchButton");

        // 遍历 JSON 数据,创建 option 元素并添加到 select 中
        jsonData.forEach(category => {
            const option = $("<option></option>").val(category.name).text(category.name);
            selectElement.append(option);
        });

        // 添加按钮点击事件监听器以实现搜索和回显选中的值
        searchButton.click(function () {
            const inputValue = categoryInput.val();
            // 在 select 中查找匹配的选项
            const matchingOption = selectElement.find('option[value="' + inputValue + '"]');
            if (matchingOption.length > 0) {
                selectElement.val(matchingOption.val());
            } else {
                // 如果没有匹配项,将选择框重置为空
                selectElement.val("");
            }
        });
    </script>
</body>

</html>

三、LayUI案例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Layui 下拉框数据回显</title>
    
    <!-- 引入 jQuery 库 -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    
    <!-- 引入 Layui 库 -->
    <link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.6.8/css/layui.css">
</head>

<body>
    <div class="layui-container">
        <div class="layui-row">
            <div class="layui-col-md6">
                <div class="layui-form">
                    <div class="layui-form-item">
                        <label class="layui-form-label">选择分类</label>
                        <div class="layui-input-inline">
                            <select id="categorySelect" lay-verify="required">
                                <option value="">请选择分类</option>
                                <option value="1">电子产品</option>
                                <option value="2">家具</option>
                                <option value="3">服装</option>
                                <option value="4">食品</option>
                                <!-- 添加更多分类... -->
                            </select>
                        </div>
                        <div class="layui-input-inline">
                            <input type="text" id="categoryInput" placeholder="输入分类名称" class="layui-input">
                        </div>
                        <button id="searchButton" class="layui-btn layui-btn-normal">回显</button>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- 引入 Layui 的 JavaScript 文件 -->
    <script src="https://cdn.staticfile.org/layui/2.6.8/layui.js"></script>
    
    <!-- JavaScript 代码 -->
    <script>
        layui.use('form', function () {
            const form = layui.form;

            // 给 select 添加 lay-filter 属性
            form.on('select(categorySelect)', function (data) {
                $('#categoryInput').val(data.elem[data.elem.selectedIndex].text);
            });

            // 给搜索按钮添加点击事件
            $('#searchButton').on('click', function () {
                const inputValue = $('#categoryInput').val();
                const selectElem = $('#categorySelect');
                const optionElem = selectElem.find('option:contains(' + inputValue + ')');
                if (optionElem.length > 0) {
                    selectElem.val(optionElem.val());
                    form.render('select');
                } else {
                    selectElem.val('');
                    form.render('select');
                }
            });
        });
    </script>
</body>

</html>

四、Bootstrap案例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bootstrap 下拉框数据回显</title>

    <!-- 引入 Bootstrap CSS -->
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
</head>

<body>
    <div class="container">
        <div class="row">
            <div class="col-md-6">
                <form>
                    <div class="form-group">
                        <label for="categorySelect">选择分类</label>
                        <select class="form-control" id="categorySelect">
                            <option value="">请选择分类</option>
                            <option value="1">电子产品</option>
                            <option value="2">家具</option>
                            <option value="3">服装</option>
                            <option value="4">食品</option>
                            <!-- 添加更多分类... -->
                        </select>
                    </div>
                    <div class="form-group">
                        <label for="categoryInput">输入分类名称</label>
                        <input type="text" class="form-control" id="categoryInput" placeholder="输入分类名称">
                    </div>
                    <button type="button" class="btn btn-primary" id="searchButton">回显</button>
                </form>
            </div>
        </div>
    </div>

    <!-- 引入 jQuery -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <!-- 引入 Bootstrap JS -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>

    <script>
        $(document).ready(function () {
            // 给搜索按钮添加点击事件
            $("#searchButton").click(function () {
                const inputValue = $("#categoryInput").val();
                const selectElement = $("#categorySelect");
                const matchingOption = selectElement.find("option:contains(" + inputValue + ")");
                if (matchingOption.length > 0) {
                    selectElement.val(matchingOption.val());
                } else {
                    // 如果没有匹配项,将选择框重置为空
                    selectElement.val("");
                }
            });

            // 当选择项发生变化时,将选中项的文本显示在输入框中
            $("#categorySelect").change(function () {
                const selectedOption = $("#categorySelect option:selected");
                $("#categoryInput").val(selectedOption.text());
            });
        });
    </script>
</body>

</html>

五、Vue案例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue.js + Element UI 下拉框数据回显</title>

    <!-- 引入 Vue.js 库 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>

    <!-- 引入 Element UI 库 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>

<body>
    <div id="app" class="container">
        <div class="row">
            <div class="col-md-6">
                <el-form :model="form" ref="form" label-width="80px">
                    <el-form-item label="选择分类">
                        <el-select v-model="form.selectedCategory" placeholder="请选择分类">
                            <el-option label="电子产品" value="电子产品"></el-option>
                            <el-option label="家具" value="家具"></el-option>
                            <el-option label="服装" value="服装"></el-option>
                            <el-option label="食品" value="食品"></el-option>
                            <!-- 添加更多分类... -->
                        </el-select>
                    </el-form-item>
                    <el-form-item label="输入分类">
                        <el-input v-model="form.inputCategory" placeholder="输入分类名称"></el-input>
                    </el-form-item>
                    <el-form-item>
                        <el-button type="primary" @click="echoCategory">回显</el-button>
                    </el-form-item>
                </el-form>
            </div>
        </div>
    </div>

    <script>
        new Vue({
            el: '#app',
            data: {
                form: {
                    selectedCategory: '',
                    inputCategory: ''
                }
            },
            methods: {
                echoCategory: function () {
                    // 设置输入框的值为选中的值
                    this.form.selectedCategory = this.form.inputCategory;
                }
            }
        });
    </script>
</body>

</html>

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

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

相关文章

13. 高级IO

13. 高级IO 1. 非阻塞 IO1.1 阻塞 IO 与非阻塞 IO 读文件 2. IO 多路复用2.1 何为 IO 多路复用2.2 select()2.3 poll()2.3.1 struct pollfd2.3.2 poll() 返回值2.3.3 示例 3. 异步 IO3.1 O_ASYNC3.2 设置异步 IO 事件的接收进程3.3 示例 4. 优化异步 IO4.1 使用实时信号替换默认…

android:persistent和android:priority的区别,对进程优先级有什么影响?

前言&#xff1a;写的apk因为系统busy给我kill了&#xff0c;(adj 900): kill all background&#xff0c;在AndroidManifest.xml添加android:persistent"true"后&#xff0c;被甲方要求不能这样做&#xff0c;还是得从adj改&#xff0c;把 priority改成1000 android…

ES6.8.6 为索引映射(Mapping)创建自定义分词器,测试分词匹配效果

文章目录 环境创建索引&#xff1a;配置自定义分词器、字段指定分词器自定义分词器参数说明创建索引&#xff1a;custom_analyzer_comment 使用索引中自定义的分词器进行分词分析自定义分词器my_custom_analyzer分词测试&#xff1a;测试中文停用词、英文字母转小写测试敏感词替…

C++1.0

思维导图 提示输入一个字符串&#xff0c;统计该字符中大写&#xff0c;小写字母个数&#xff0c;数字个数&#xff0c;空格个数以及特殊字符个数&#xff0c;要求使用C风格字符串完成 #include <iostream>using namespace std;int main() {cout << "请输入一…

红包六(CTFshow)

jar的逆向&#xff0c;第一次接触 jd逆向工具反编译jar文件 可以直接丢进去看&#xff0c;也可以用jd反汇编工具看 这里提示flag不在这里分析一下这段代码 1. 引入必要的库: java.util.Base64: 用于处理 Base64 编码和解码。java.util.Scanner: 用于从用户输入中读取文本。…

EasyExcel实现下载模板

实体类&#xff1a; package com.aicut.monitor.domain;import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.s…

浙大AIF发布年度报告:PaaS是金融机构数智化创新“加速器”

“云原生技术体系日趋成熟&#xff0c;云原生分布式PaaS平台对金融业‘用云价值’发挥三个关键作用——提升多云协同效率、降低数字化门槛和新领域试错成本&#xff0c;正成为中国金融机构数字化转型的加速器。”1月25日&#xff0c;浙江大学国际联合商学院院长、金融科技研究院…

2000-2022年中国对225个国家地区进出口数据

2000-2022年中国对225个国家地区进出口数据 1、时间&#xff1a;2000-2022年 2、来源&#xff1a;UN Comtrade联合国贸易数据 3、指标&#xff1a;、年份、年份、报告国家编码、报告国家ISO编码、报告国家、进出口类别编码、进出口类别&#xff08;import进口/export出口&am…

目标检测数据集 - 人脑肿瘤检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍&#xff1a;人脑肿瘤检测数据集&#xff0c;真实 CT 场景高质量图片数据&#xff0c;涉及人脑 CT 图片数据集丰富&#xff1b;适用实际项目应用&#xff1a;CT 图片场景下人脑肿瘤检测项目&#xff0c;以及作为通用人脑检测数据集场景数据的补充&#xff1b;标注说明…

HTML 炫酷进度条

下面是代码 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>Light Loader - CodePen</title><style> html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr…

docker(第二部分)

来自尚硅谷杨哥 少一点胡思乱想&#xff0c;心中无女人&#xff0c;编码自然神&#xff0c;忘掉心上人&#xff0c;抬手灭红尘。人间清醒&#xff0c;赚钱第一。好好学习&#xff0c;天天向上。听懂六六六。 7.Dokcer容器数据卷 1,&#xff09;坑&#xff1a;容器卷记得加入 …

【并发编程】顺序控制交替输出abc

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;并发编程⛺️稳重求进&#xff0c;晒太阳 必须先2后1打印 用synchronized package aaa;public class Test2 {static Boolean hasExecutorfalse;public static void main(String[] args) …

TS基础知识点快速回顾(上)

基础介绍 什么是 TypeScript&#xff1f; TypeScript&#xff0c;简称 ts&#xff0c;是微软开发的一种静态的编程语言&#xff0c;它是 JavaScript 的超集。 那么它有什么特别之处呢? js 有的 ts 都有&#xff0c;所有js 代码都可以在 ts 里面运行。ts 支持类型支持&#…

华清远见作业第三十三天——C++(第二天)

思维导图&#xff1a; 题目&#xff1a; 自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数&#xff1a; 初始化函数&#xff1a;void init(int w, int h) 更改宽度的函数&#xff1a;set_w(int w) 更改高度的函数…

优思学院|如何将AI人工智能融入精益六西格玛?

在当前的制造和服务运营中&#xff0c;许多流程都在一定程度上重复进行&#xff0c;这为实验、学习和持续改进其底层流程提供了机会。直到最近&#xff0c;这些流程的改进大多由人类专家执行。然而&#xff0c;随着包括生成型AI在内的人工智能工具的出现&#xff0c;这一切都在…

阅读go语言工具源码系列之gopacket(谷歌出品)----第一集 DLL的go封装

gopacket项目是google出品的golang第三方库&#xff0c;项目源码地址google/gopacket: Provides packet processing capabilities for Go (github.com) gopacket核心是对经典的抓包工具libpcap(linux平台)和npcap(windows平台)的go封装&#xff0c;提供了更方便的go语言操作接…

JavaScript DOM之Cookie详解

cookie有的地方习惯使用复数形式的cookies&#xff0c;指的是网站为了识别用户的身份或者进行一些必要数据的缓存而使用的技术&#xff0c;它的数据是存在用户的终端上&#xff0c;也就是在浏览器上的。 一、什么是cookie 随着互联网的不断发展各种基于互联网的服务系统逐渐多…

3D点云数据的标定,从搭建环境到点云标定方法及过程,只要有一台Windows笔记本,让你学会点云标定

ptscloudpre: 点云标定准备&#xff1a; 说明&#xff1a; 如下介绍适用windows系统的电脑。apple笔记本同理&#xff0c;但是需要安装MAC版本的anaconda。网址&#xff1a;Free Download | Anaconda可下载对应MAC版本的Anaconda的安装包建议下载2022年或2021年的安装包安装。…

nginx限制ip访问

先看一下被禁止的效果 如何配置 禁止访问的话直接在location模块增加类似如下配置 deny all; 完整示例 location / {deny all;root html;index index.html index.htm;} 默认是allow all就是允许所有ip访问,如果只配置指定ip可以访问是无效的,还是所有的ip可以访问 无效示例…

【UAT阶段】测试计划分享

前面我有分享UAT阶段注意事项&#xff0c;今天跟大家分享UAT测试计划包含哪些内容&#xff1a; 希望该计划能给大家在实际项目中有所帮助&#xff1b;