由于业务需求,要实现 一个下拉框搜索功能。这个下拉功能和百度的还是有点区别的,百度的是时时与服务器交互的,而这个只是模拟。技术点在于实现 了搜索功能。

未搜索前如下图:

搜索后:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
.box{
width: 200px;
margin: 100px auto;
}
.select-box{ width: 100%;
overflow: hidden;
}
.select-dry{
border: 1px solid #dddddd;
height: 30px;
line-height: 30px;
color: #000;
padding-left: 10px;
background: white;
}
.select-dry input{
border:0;
outline:none;
}
.select-box .item{
box-sizing:border-box;
border: 1px solid #dddddd;
width:100%;
height: auto;
color: #000;
padding-left: 10px;
background: white; }
.select-box .item p{
padding-right: 10px;
}
</style>
</head>
<body>
<div class="box">
<div class="select-box" id="select-box"> <div class="select-dry">
<input type="text" id="ipt">
</div>
<div class="item-box" id="item-box"> </div>
<!--<div class="item"><p> MarkDown重写了这篇博客,欢迎移步到:Linux修</p></div>
<div class="item">123123</div>
<div class="item">123123</div> -->
<script>
var datas = ['人','123','666','你好4','965','6','12','23','34','45','56','666'];
var itemBox = document.getElementById("item-box");
createList(datas);
document.getElementById("ipt").addEventListener('input',function(e) {
// console.log('e.target.value',e.target.value)
var val = e.target.value;
var arr = [];
for(var i = 0;i<datas.length;i++){
if(datas[i].toString().indexOf(val.toString())!=-1){
console.log(datas[i])
arr.push(datas[i])
}
}
itemBox.innerHTML = '';
createList(arr);
});
function createList(datas){
for(var i = 0;i<datas.length;i++){
var newDom = document.createElement("div");
newDom.className = "item";
newDom.innerHTML = datas[i];
itemBox.appendChild(newDom);
}
}
</script>
</div>
</div> </body>
</html>

Sublime Text3自动保存的功能(失去焦点自动保存)

这是最新版本的Sublime Text3的设置方法 (三部曲);

第一步:preferences 下面的settings;(和老版本的不一样了吧,之前有什么default 和 users,这里只有settings)

第二步:现在分两边了,左边是只读的不能编辑,在左边ctrl + f ,然后在下面输入框里输入save_on_focus_lost,或者找185行

第三部:看下图就搞定了,复制这段代码到右边的框里,然后把false ,改成true 把true后面的逗号删掉,上面的一段代码结束加英文状态下的逗号就好,今后就不用ctrl+s了,舒心多了!

原生javascript实现 下拉框搜索功能的更多相关文章

  1. 使用jquery select2实现下拉框搜索功能

    由于公司后台系统下拉框数据量太多了,用户操作起来要不方便所以增加了下拉框里面一个搜索功能 1从官网下载jquery select2 下来 地址https://select2.github.io/ 2: ...

  2. BootStrap下拉框搜索功能

    <!DOCTYPE html> <html> <head> <title>jQuery bootstrap-select可搜索多选下拉列表插件-www. ...

  3. laravel7 jqAjax下拉框搜索

    html: 设置页面改变事件 <div id="show"> <div class="page-container" style=" ...

  4. 下拉框搜索插件chosen

    {% load staticfiles %} <!DOCTYPE html> <html lang="en"> <head> <meta ...

  5. 原生js获取下拉框下标

    // 获取下拉框所选下标 传入下拉框的id function getselectscheckitemindex (idStr) { let o = document.getElementById(id ...

  6. DataTables给每一列添加下拉框搜索

    $(document).ready(function() { $('#example').DataTable( { initComplete: function () { var api = this ...

  7. 纯原生javascript下拉框表单美化实例教程

    html的表单有很强大的功能,在web早期的时候,表单是页面向服务器发起通信的主要渠道.但有些表单元素的样式没办法通过添加css样式来达到满意的效果,而且不同的浏览器之间设置的样式还存在兼容问题,比如 ...

  8. table样式的下拉框(angularjs)

    前言 虽然使用的技术比较老了,但是思想却还是适用于现在的vue等框架. 一:实现的样式 二:实现包括的功能点 1:下拉框内容是表格,类似于一个弹窗 表格内容最多六行,超出的显示滚动条,表头固定,可滚动 ...

  9. jquery.editable-select 可编辑下拉框之获取select值和input值

    使用jquery.editable-select可以实现可编辑下拉框的功能,但需要先导入jquery.js,jquery.editable-select.css,jquery.editable-sel ...

随机推荐

  1. 基于python的WGS84转百度坐标

    from urllib.request import urlopen, quote import json def wgs84tobaidu(x,y): data=str(x)+','+str(y); ...

  2. 清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦

    直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问题:找不到SCOTT员工了,只有13条数据,这显然不合理:这就是内连接的缺 ...

  3. js中字符串的replace方法区分单双引号

    今天遇到一问题,js文件中调用字符串的replace方法,不起作用. 后来排查可能觉得replace("<option  value='1'>admin</option&g ...

  4. Epson L4158打印机安装与配置

    上周购买了一台打印.扫描.复印三合一的Epson L4158喷墨打印机,主要用于打印数学纸版笔记套图.长笛乐谱.常用软件的cheatsheet(例如,GNU/Linux命令.GNU Emacs快捷键. ...

  5. kubernets helm 如何删除tiller

    https://stackoverflow.com/questions/53612553/how-to-uninstall-remove-tiller-from-kubernetes-manually ...

  6. C# DynamicObject 动态对象

    dynamic是FrameWork4.0的新特性.dynamic的出现让C#具有了弱语言类型的特性.编译器在编译的时候不再对类型进行检查,编译期默认dynamic对象支持你想要的任何特性.比如,即使你 ...

  7. Taro音频createVideoContext组件无法调用方法

    用createVideoContext的时候,是在一个组件中 声明后这个实例的方法全部都不能使用了 Taro.createVideoContext('myVideo', this) 需要加上第二个参数 ...

  8. SharePoint修改左上角文字的命令行

    $webapp = Get-SPWebApplication “http://test-spweb1” --需要修改的站点$webapp.SuiteNavBrandingText = “XXXXXX” ...

  9. 2018-2019-2 20165239其米仁增《网络对抗》Exp1 PC平台逆向破解

    一.实验内容 1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码(0.5分) 2.掌握反汇编与十六进制编程器 (0.5分) 3.能正确修改机器指令改变程序执行流程(0.5分) 4.能 ...

  10. HTML5通讯协议——WebSocket

    1.导入maven依赖 <!-- websocket --> <dependency> <groupId>org.springframework</group ...