layui下拉框输入关键字才出数据

html里这样放

 <div class="layui-form-item"><label class="layui-form-label">合同方:</label><div class="layui-input-block rightinline"><input type="text" name="select_text" id='select_text' placeholder="请输入搜索内容" autocomplete="off" class="layui-input"><div class="layui-unselect layui-form-select"><dl class="layui-anim layui-anim-upbit" id="inputSelect" style="top: 0px;"><dd mark="tips" name="dd" id="tips" onclick="ddClick(this)" class="layui-select-tips">请输入</dd></dl></div></div></div>

js里这样写

<script>$.ajax({url: '/ConChanMark/Gethtflist',type: 'post',success: (res) => {let selects = `<dd mark="tips" name="dd" id="tips" class="layui-select-tips"  onclick="ddClick(this)" value="">请输入合同方</dd>`;res.data.map(item => {selects += `<dd mark="value" name="dd" onclick="ddClick(this)" class="" value="${item.value}">${item.text}</dd>`;})selects += `<p class="layui-select-none" style="display:none;">无匹配项</p>`;$('#inputSelect').html(selects);$('#inputSelect dd').hide();$('#tips').show();}});var select_id = "";/* 输入框 输入事件 */$(document).on('input', '#select_text', function(){ddShow();select_id = '';/* 每次输入都置空id */});function ddShow(){var selectVal = $('#select_text').val();var dds = $('#inputSelect dd');if (selectVal) {/* 输入框有值 */let arr = [];for (var i = 0; i < dds.length; i++) {if (dds[i].getAttribute('id')!=='tips' && dds[i].innerHTML.indexOf(selectVal) > -1) {/* 列表中匹配上输入框的值 */dds[i].style.display = "block";arr.push(true);if(select_id && dds[i].getAttribute('value')===select_id){dds[i].className = "layui-this";}else{dds[i].className = '';}} else {dds[i].style.display = "none";arr.push(false);}}$('#tips').hide();if (arr.every(i => !i)) {/* 列表没有一条匹配上输入框的值,就显示无匹配值 */$('#inputSelect p').show();} else {$('#inputSelect p').hide();}} else {$('#inputSelect dd').hide();$('#tips').show();$('#inputSelect p').hide();}}/* 输入框 点击事件 */$(document).on('click', '#select_text', function () {if ($("#inputSelect").css('display') == 'block') {$("#inputSelect").hide();$(this).blur();if(!select_id){$('#select_text').val('');}} else {$("#inputSelect").fadeIn("slow");$(this).focus();ddShow();}});/* 点击其它地方关闭列表 */$('body').click(function (e) {if ($(e.target).parent().attr('id') != 'inputSelect' && $(e.target).attr('id') != 'select_text') {$("#inputSelect").hide();if (!select_id) {$('#select_text').val('');}}});/* 列表中的一条 点击事件 */function ddClick(dd) {$("#inputSelect").hide();var mark = dd.getAttribute("mark");var dds = $('#inputSelect dd');for (var i = 0; i < dds.length; i++) {if (dd !== dds[i]) {dds[i].className = "";}}document.getElementById("tips").className = "layui-select-tips";if ("tips" === mark) {$('#select_text').val('');select_id = '';dd.className = "layui-select-tips";} else if ("value" === mark) {$('#select_text').val(dd.innerHTML);select_id = dd.getAttribute('value');dd.className = "layui-this";}}</script>

Gethtflist 这个方法这样写,这是后台动态取值,自行调整。

 [HttpPost]public JsonResult Gethtflist(string? keyword){var DB = SqlSugarHelper.DB.CopyNew();List<SelectListItem> item1 = new List<SelectListItem>();var pageQuery = DB.Queryable<ContractInfo>().WhereIF(!string.IsNullOrEmpty(keyword),L => L.ConCorpName.Contains(keyword)).ToList();foreach (var sc in pageQuery){//item1.Add(new SelectListItem { Text = sc.ConCorpName + "-" + sc.ChanID, Value = sc.ConID + "" });item1.Add(new SelectListItem { Text = sc.ConCorpName , Value = sc.ConID + "" });}var result = item1.OrderBy(m => m.Text).Select(m => new { m.Text, m.Value }).Distinct().ToList().Select(x => new SelectListItem(){Text = x.Text,Value = x.Value});return Json(new { data = result });}

ok效果图

关于这个下拉框的取值与赋值

取值

文本内容

$("#select_text").val();

这条数据的value值也就是id值

select_id

具体应用场景,这是一个添加方法,更容易理解

//添加方法
$.ajax({type: "POST",data: {htf: select_id,htfname:$("#select_text").val()},url: "/你的控制器/你的添加方法",success: function (result) {if (result.success) {table.reload('ID-table-demo-data');layer.close(index);}else {layer.alert(result.message);}}
})

修改时回显赋值

写在你回显逻辑里,这样赋值即可

 select_id = obj.data.conid;$("#select_text").val(obj.data.conname);

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

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

相关文章

bash和zsh的区别

Bash&#xff08;Bourne-Again SHell&#xff09;和 Zsh&#xff08;Z Shell&#xff09;都是 Unix/Linux 系统中的主流 Shell&#xff0c;但它们在功能、配置和用户体验上有显著区别。以下是两者的详细对比&#xff1a; 1. 历史与兼容性 特性BashZsh诞生时间1989 年&#xff…

组件通信-v-model

概述&#xff1a;实现 父↔子 之间相互通信。 前序知识 —— v-model的本质 <!-- 使用v-model指令 --> <input type"text" v-model"userName"><!-- v-model的本质是下面这行代码 --> <input type"text" :value"use…

虚拟机(Virtual Machine, VM)的简单介绍

目录 一、虚拟机的基本概念 二、虚拟化技术的分类 三、虚拟机的核心架构 四、虚拟机的核心应用场景 五、虚拟机的优缺点分析 六、虚拟机与容器技术的对比 七、虚拟机的未来趋势 八、总结 一、虚拟机的基本概念 虚拟机&#xff08;VM&#xff09;是一种通过软件模拟的完…

Xcode16提交App Store审核时提示bitcode报错

提交AppStore时出现bitcode报错&#xff0c;内容如下&#xff1a; Upload was cancelled. 2025-04-30 02:15:48.349 [ContentDelivery.Uploader.600000DB4380] Show Progress: Upload failed. Validation failed Invalid Executable. The executable Blockolot.app/Frameworks/…

Flutter TabBar / TabBarView 详解

目录 一、引言 二、基本用法 代码解析 三、主要属性 3.1 TabBar 3.2 TabBarView 四、进阶定制&#xff1a;突破默认样式 4.1 视觉样式深度定制 4.2 自定义指示器与标签 4.3 动态标签管理 五、工程实践关键技巧 5.1 性能优化方案 5.2 复杂手势处理 5.3 响应式布局…

mathtype转化

mathtype转latex 点击预置 选择剪切和复制预置 点击MathML 或 TeX&#xff0c;选择 LaTeX 2.09 and later mathtype转word自带编码器 与前面都相同&#xff0c;选择 MathML2.0&#xff08;m namespace&#xff09;

AI检测的荒谬性:当规则沦为一场概率游戏

当今高校对AI检测工具的依赖&#xff0c;已经演变成一场标准混乱的闹剧。有的学校指定格子达&#xff0c;有的迷信维普&#xff0c;而同一篇论文在不同的系统里竟能得出天差地别的结果——在格子达AI检测率仅12%的文章&#xff0c;放到维普却可能飙升到60%。这意味着&#xff0…

react-14defaultValue(仅在首次渲染时生效)和value(受 React 状态控制)

在 React 中&#xff0c;defaultChecked/checked 和 defaultValue/value 是用于处理表单元素初始值和受控值的属性对。区别在于表单元素是否受 React 组件状态控制。 1. defaultValue 作用&#xff1a;设置表单元素的初始值&#xff08;仅在首次渲染时生效&#xff09;。特点…

Go语言基础学习详细笔记

文章目录 初步了解Go语言Go语言诞生的主要问题和目标Go语言应用典型代表Go语言开发环境搭建经典HelloWorld 基本程序结构编写学习变量常量数据类型运算符 条件语句if语句switch 语句 跳转语句常用集合和字符串数组切片Map实现Set**字符串** 函数**基本使用用例验证** 面向对象编…

wrod生成pdf。[特殊字符]改背景

import subprocess import os,time from rembg import remove, new_session from PIL import Image import io from docxtpl import DocxTemplate, InlineImage from docx.shared import Inches input_folder ‘tupian’ # 输入文件夹 kouchu_folder ‘kouchu’ # 去背景图像…

基于SpringBoot和PostGIS的应急运输事件影响分析-以1.31侧翻事故为例

目录 前言 一、技术实现路径 1、需要使用的数据 2、空间分析方法 二、相关模块设计与实现 1、运输路线重现开发 2、事故点影响范围实现 3、WebGIS可视化实现 三、讨论 1、界面结果展示 2、影响范围分析 四、总结 前言 在交通运输发达的当今社会&#xff0c;应急运输…

NetBox:运维利器,网络与数据中心管理平台

NetBox 详细介绍&#xff1a;开源 IPAM 和 DCIM 工具的全面解析 1. 引言 在现代网络和数据中心管理中&#xff0c;基础设施的复杂性不断增加&#xff0c;传统的电子表格或手动记录方式已无法满足高效、准确和可扩展的管理需求。NetBox 作为一个开源的 IP 地址管理&#xff08…

澳鹏干货 | 动态判断:如何用“群体智慧“优化AI数据标注流程?

20世纪初&#xff0c;800人集体猜测一头公牛的重量&#xff0c;结果与真实数值误差不足1%——这就是著名的"群体智慧"效应。如今&#xff0c;这一古老智慧正以全新形态赋能AI训练&#xff1a;通过动态优化标注流程&#xff0c;让AI训练结果像人群一样达成精准共识。 …

go.mod没有自动缓存问题

今天在安装Gin框架的时候遇到了一个问题 在Terminal运行下面命令安装时&#xff0c;包已经被下载安装到了GoPath中的bkg/mod go get -u github.com/gin-gonic/gin但是由于使用的是Go Modules&#xff0c;GPT以及大多数人给的说法是 运行完这个依赖包会被自动同步更新到go.mod…

数据结构——排序(万字解说)初阶数据结构完

目录 1.排序 2.实现常见的排序算法 2.1 直接插入排序 ​编辑 2.2 希尔排序 2.3 直接选择排序 2.4 堆排序 2.5 冒泡排序 2.6 快速排序 2.6.1 递归版本 2.6.1.1 hoare版本 2.6.1.2 挖坑法 2.6.1.3 lomuto前后指针 2.6.1.4 时间复杂度 2.6.2 非递归版本 2.7 归并排序…

AWS上构建基于自然语言和LINDO API的线性规划与非线性规划的优化计算系统

我想要实现一个通过使用C#、Semantic Kernel库、OpenAI GPT 4的API和附件文档里提到的LINDO API 15.0实现通过中文自然语言提示词中包含LATEX代码输入到系统,通过LINDO API 15.0线性规划与非线性规划的优化计算程序输出计算结果和必要步骤的应用,结果用中文描述出来,这样的L…

海外短剧H5系统开发:技术架构、SEO优化与全球市场突围策略 [2025版]

随着全球数字娱乐消费的升级&#xff0c;海外短剧市场正以年均300%的增速爆发式增长。数据显示&#xff0c;2025年海外短剧市场规模预计突破450亿美元&#xff0c;用户付费意愿&#xff08;ARPPU达25-50美元&#xff09;远超国内67。H5系统凭借其轻量化、跨平台兼容性和低成本开…

7D-AI系列:模型微调之mlx-lm

大模型的出现&#xff0c;导致信息量太大&#xff0c;只有静心动手操作&#xff0c;才能得到真理。 文章目录 环境要求安装示例mlx-lm微调工具参数准备数据集下载模型微调模型合并模型验证结果验证微调前的模型验证微调后的模型 环境要求 macbook pro m系列芯片mlx环境已安装 …

Docker —— 隔离的基本操作(1)

Docker —— 隔离的基本操作&#xff08;1&#xff09; 1. 用户和权限隔离2. 进程隔离3. 文件系统隔离4. 资源隔离&#xff08;Cgroups&#xff09;5. 网络隔离6. 安全增强&#xff08;SELinux/AppArmor&#xff09;7. 容器技术&#xff08;Docker/LXC&#xff09;总结 dd基本语…

PWN基础-ROP技术-ret2syscall突破NX保护

ROP&#xff08;Return-Oriented Programming&#xff0c;返回导向编程&#xff09;是一种利用程序已有代码片段来执行任意指令的攻击技术&#xff0c;常用于绕过现代系统的安全机制&#xff0c;尤其是不可执行栈&#xff08;NX&#xff09;。 常规检查一下&#xff1a; 32 位…