首页 > 其他分享 >js技术之“input输入框转成下拉框,且保留可输入能力”

js技术之“input输入框转成下拉框,且保留可输入能力”

时间:2022-12-15 16:25:06浏览次数:33  
标签:function term wzwOptions js 输入框 data 下拉框 输入

一.jsp前端控件

<td class="form-label">
   <label class="control-label">供货商货号<span class="required">*</span></label>
</td>
<td>
   <app:input id="wzwSupplierNo" placeholder="供货商货号" name="product.supplierNo"
            required="required" maxLen="24"></app:input>
    
    <%-- 常规方式也可以 --%>
    <%-- <input id="wzwSupplierNo" placeholder="供货商货号" name="product.supplierNo" maxLen="24" /> --%>
</td>

 

二.js技术

jQuery(document).ready(function() {
        const wzwOptions = [];
        console.log(wzwOptions)
        wzwOptions.push({id: "wzw1", text: "wzw2"})
        console.log(wzwOptions)
        $("#wzwSupplierNo").select2({
            createSearchChoice:function(term, data) {
                if ($(data).filter(function() {
                    return this.text.localeCompare(term)===0;
                }).length===0) {
                    return {
                        id:term,
                        text:term
                    };
                }
            },
            multiple: false,
            data: wzwOptions,
            allowClear : true
        });
});

 

 

三.效果

下拉框

 

 

可输入

 

 

下拉中没有却可选中输入的(实现下拉框中可输入)

 

 总结

  • 这里的数据存储感觉可以优化,但我技术好像跟不上,没有优化成功(思路:直接发起ajax,返回map,让后直接将data值附上就好)
  • 这里的过滤有的选项,并且返回输入本身
  • 我这里试了下用val好像是没有效果的,如果有人是有有效果可以评论我来看看
  • createSearchChoice函数重定义的方案是学习到了,这里源码中其实也有,但不太符合我们的业务要求

 

 

标签:function,term,wzwOptions,js,输入框,data,下拉框,输入
From: https://www.cnblogs.com/saoge/p/16985318.html

相关文章

  • 用JSON-server模拟REST API
    用JSON-server模拟RESTAPI live-server的使用---------------------------------------------生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果是对......
  • js漂浮组件发布 ppFloat.js.1.0
    ​​js漂浮组件1.0ppFloat.js.1.0下载​​2007年11月11日发布/*ppFloat漂浮插件1.0 作者:彭成刚网站:http://www.zzcn.net//*<scriptlanguage="JavaScript"type......
  • Qt之自定义输入框(度分秒、经纬度、格式化显示)
    相关资料:http://www.manongjc.com/detail/15-grpefyhtwdpbehh.html  Qt自定义文本输入框实现支持输入度分秒和度两种格式(简易无限制输入)PS:重要的文件我用粗体标注......
  • js去除字符串空格
    js去除字符串空格(空白符)使用js去除字符串内所带有空格,有以下三种方法:(1)replace正则匹配方法去除字符串内所有的空格:str=str.replace(/\s*/g,"");去除......
  • jsp web 大文件上传源代码
    ​我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件的上传和续传,要求续传支持所......
  • JSON
    JSON的定义JSON指的是JavaScript对象表示法(JavaScriptObjectNotation)JSON是轻量级的文本数据交换格式JSON独立于语言JSON具有自我描述性,更易理解常用的方法j......
  • JSON.stringify做深拷贝的缺点
    1.对象中有时间类型的时候,序列化之后会变成字符串类型。2.对象中有undefined和Function类型数据的时候,序列化之后会直接丢失。3.对象中有NaN、Infinity和-Infinity的时......
  • JSchException verify: false
    1.产生此异常的原因 高并发下,SFTP上传偶现com.jcraft.jsch.JSchException:verify:false的异常(大概上传几百次就会抛出一次这个异常)。JSch版本日志中描述该问题在jsch-......
  • 直播平台搭建源码,纯js实现编辑器撤消/重做
    直播平台搭建源码,纯js实现编辑器撤消/重做核心JS //基类varCore=function(){}Core.prototype={arrayPrevStep:[],//存放撤消操作方法列表arrayNextStep:[],/......
  • 高性能 Jsonpath 框架,Snack3 3.2.50 发布
    Snack3,一个高性能的JsonPath框架借鉴了Javascript所有变量由var申明,及Xmldom一切都是Node的设计。其下一切数据都以ONode表示,ONode也即Onenode之意,代表任何......