下拉回显问题案例大全

下拉回显问题案例大全

在这里插入图片描述

一、原生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.mfbz.cn/a/350719.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu18编译jdk8源码

环境 系统 ubuntu18 Linux ubuntu 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux jdk源码openjdk-8u41-src-b04-14_jan_2020.zip bootJdk jdk-8u391-linux-x64.tar.gz ps -e|grep ssh sudo apt-get install ssh…

GitBook可以搭建知识库吗?有无其他更好更方便的?

在一个现代化的企业中&#xff0c;知识是一项宝贵的资产。拥有一个完善的企业知识库&#xff0c;不仅可以加速员工的学习和成长&#xff0c;还能提高工作效率和团队协作能力。然而&#xff0c;随着企业不断发展和扩大规模&#xff0c;知识库的构建和管理变得更加复杂和耗时。 |…

steam搬砖项目真的假的?怎么赚钱?到底能不能做

steam搬砖是真的还是假的&#xff1f;不管能不能做到&#xff0c;你一定因为这个问题找到了我&#xff0c;看了这篇文章。我已经练习蒸砖项目3年多了。我可以负责任地说&#xff0c;相比其他互联网项目&#xff0c;蒸汽砖项目绝对是门槛最低、最稳定、期限最长、变现最快的一个…

2982. 找出出现至少三次的最长特殊子字符串 II

字典树思路 用字典树搞一下就好了&#xff0c;比如aaaaa &#xff1a; a存5次 aa 4次以此类推&#xff5e; 字典树板子复习&#xff1a;P8306 【模板】字典树 这里这个清空方式 很好 因为很多时候memset T #include<iostream> #include<cstring> using namesp…

如何训练和导出模型

介绍如何通过DI-engine使用DQN算法训练强化学习模型 一、什么是DQN算法 DQN算法&#xff0c;全称为Deep Q-Network算法&#xff0c;是一种结合了Q学习&#xff08;一种价值基础的强化学习算法&#xff09;和深度学习的算法。该算法是由DeepMind团队在2013年提出的&#xff0c;…

STM32标准库——(4)OLED显示屏

1.STM32调试方式 串口调试&#xff1a;通过串口通信&#xff0c;将调试信息发送到电脑端&#xff0c;电脑使用串口助手显示调试信息显示屏调试&#xff1a;直接将显示屏连接到单片机&#xff0c;将调试信息打印在显示屏上Keil调试模式&#xff1a;借助Keil软件的调试模式&…

语义分割(2) :自定义Dataset和Dataloader

文章目录 1. 数据处理1.1 标签转换(json2mask和json2yolo)1.1.1 json2mask1.1.2 json2yolo 1.2 划分数据集1.2 不规范的标签图片处理1.3 批量修改图片后缀 2 自定义Dataset 和 Dataloader2.1 自定义Dataset2.1.1 数据增强(1) 对图像进行缩放并且进行长和宽的扭曲(2) 随机翻转图…

预处理详解1❤

一&#xff1a;预定义符号 C语言中设置了一些预定义符号&#xff0c;它们可以直接使用&#xff0c;同时预定义符号是在预处理期间处理的。 以下就是相关的预处理符号的作用。 二&#xff1a;#define定义常量 首先基本的语法是 #define name stuff 相对比较简单&#xff…

Dijkstra求最短路 I——朴素版Dijkstra算法

问题描述 稠密图使用朴素版Dijkstra算法 使用邻接矩阵存储图定义dist[]数组用来表示图中所有点到1号点的距离&#xff0c;初始化所有点到1号点的距离为0x3f3f3f3f&#xff0c;dist[1] 0循环n次 在图中找出距离1号点最小的点&#xff0c;并且当前点没有被确定过&#xff0c;另…

服务器无法访问外网怎么办

目前是互联网时代&#xff0c;网络已经成为人们日常生活中不可或缺的一部分。我们通过网络获取信息、进行沟通、甚至进行工作&#xff0c;因此&#xff0c;保持网络的稳定和通畅是非常重要的。然而&#xff0c;有时候我们可能会遇到一些网络无法访问外网的问题&#xff0c;这给…

Odoo14 中的小部件列表

们有不同类型的小部件用于不同的目的&#xff0c;帮助我们简化操作。小部件用于使代码变得简单且用户友好&#xff0c;这将有助于软件的编码和编程方面。在 Odoo 14 开发中&#xff0c;我们可以利用不同的小部件&#xff0c;这些小部件可用于编程操作的某些特定方面。这些简化工…

黑豹程序员-vue实现两级联动下拉列表

需求 在开发中这类需求很多&#xff0c;前后两个下拉框有紧密关系&#xff0c;第一个下拉框相当于一个分类&#xff0c;选中第一个下拉框中的某个分类后&#xff0c;第二个下拉框的内容随之改变&#xff0c;列出其分类下的选项。 图例 选中某个一级风险领域后&#xff0c;二级…

38、Flink 的CDC 格式:canal部署以及示例

Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点&#xff0c;并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分&#xff0c;比如术语、架构、编程模型、编程指南、基本的…

蓝牙----蓝牙协议栈Host层

蓝牙协议栈----Host层 蓝牙物理层基本信息链路层的状态机进入连接态的步骤主动扫描与被动扫描链路层通信模式 蓝牙地址蓝牙设备地址蓝牙标识地址蓝牙接入地址 蓝牙广播信道管理蓝牙数据信道跳频 蓝牙协议栈Host层包括PHY、LL、HCL层&#xff0c;注重关注PHY物理层和LL链路层。 …

【RT-DETR有效改进】轻量化ConvNeXtV2全卷积掩码自编码器网络

前言 大家好&#xff0c;我是Snu77&#xff0c;这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进&#xff0c;内容持续更新&#xff0c;每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本&#xff0c;同时修改内容也支持Re…

Leetcode:二分搜索树层次遍历

题目&#xff1a; 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例&#xff1a; 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,…

研发日记,Matlab/Simulink避坑指南(五)——CAN解包 DLC Bug

文章目录 前言 背景介绍 问题描述 分析排查 解决方案 总结 前言 见《研发日记&#xff0c;Matlab/Simulink避坑指南&#xff08;一&#xff09;——Data Store Memory模块执行时序Bug》 见《研发日记&#xff0c;Matlab/Simulink避坑指南(二)——非对称数据溢出Bug》 见《…

springboot 项目,返回的实体类里面字段是null ,现在想要为空应该是““,空字符串,而不是null

目录 1 问题2 实现 1 问题 返回给前端的数据&#xff0c;如果数据库的字段没有数据&#xff0c;给返回的是null 要变成这个&#xff0c;全局都变成这样 2 实现 springboot返回给页面的json数据中&#xff0c;如果有数据为null&#xff0c;则返回空字符串。 springboot默认使…

同为科技(TOWE)自动控制循环定时插座

随着科技的发展&#xff0c;智能化家居已成为我们生活的重要组成部分。作为国内领先的智能家居品牌&#xff0c;同为科技&#xff08;TOWE&#xff09;推出的自动控制循环定时插座&#xff0c;无疑将科技与生活完美地结合在一起。 1.外观设计 同为科技&#xff08;TOWE&#x…

Spring第二天

今日目标 能够掌握注解开发定义Bean对象 能够掌握纯注解开发模式 能够配置注解开发依赖注入 能够配置注解开发管理第三方Bean 能够配置注解开发为第三方Bean注入资源 能够使用Spring整合Mybatis 能够使用Spring整合Junit 一、第三方资源配置管理 说明&#xff1a;以管理DataSo…
最新文章