OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

让Select选择框可编辑可输入可自动补全可下拉选择


分享到
分类 编程技巧   关键字 Html5   发布 ourjs  1503025849015
注意 转载须保留原文链接,译文链接,作者译者等信息。  
Select是HTML中的下拉列表标签,支持单选和多选,但是不支持手动输入,以下是一些解决方案。

datalist

Datalist是HTML5的原生标签,用于向input提供下拉和自动提示选项,支持输入和下拉选择两种方式。但是目前IE10及其以下浏览器并不支持, 并且IE11无法触发input和change事件,相当于IE系列均无法很好地实现。如果仅支持Chrome或Eletron桌面的应用则可以放心使用。
好处不需要引用额外的JS/CSS文件支持,示例:

<input list="cookies" placeholder="Type of Cookie"/>

<datalist id="cookies">
    <option value="Chocolate Chip"/>
    <option value="Peanut Butter"/>
    <option value="Raisin Oatmeal"/>
</datalist>

在线示例 http://jsfiddle.net/joshpauljohnson/Uv5Wk/



Html+CSS兼容IE实现

有时侯,我们是必须要兼容旧版IE的。而且很多时侯,我们并不需要datalist的自动补全功能,我们可能更希望即使下拉选择中没有匹配用户输入的内容,所有选项也能够弹出来。这样通过纯HTML+CSS即可实现,基本原理是使用 input/select 两个元素,然后 input 覆盖在 select 上层 ,宽度并比select窄一点,这样用户就能点到select的箭头弹出下拉框。参考: Stackoverflow

<div class="select-editable">
    <select onchange="this.nextElementSibling.value=this.value">
        <option value=""></option>
        <option value="115x175 mm">115x175 mm</option>
        <option value="120x160 mm">120x160 mm</option>
        <option value="120x287 mm">120x287 mm</option>
    </select>
    <input type="text" name="format" value="" />
</div>

 .select-editable {
     position:relative;
     background-color:white;
     border:solid grey 1px;
     width:120px;
     height:18px;
 }
 .select-editable select {
     position:absolute;
     top:0px;
     left:0px;
     font-size:14px;
     border:none;
     width:120px;
     margin:0;
 }
 .select-editable input {
     position:absolute;
     top:0px;
     left:0px;
     width:100px;
     padding:1px;
     font-size:12px;
     border:none;
 }
 .select-editable select:focus, .select-editable input:focus {
     outline:none;
 }


在线示例:  http://jsfiddle.net/nwH8A/



JavaScript-autoComplete


这是一个由JavaScript编写的自动补全插件,不依赖jQuery且仅有5.4kB
项目地址:https://github.com/Pixabay/JavaScript-autoComplete


Bootstrap Magicsuggest


Magicsuggest是一个非常流行的自动补全插件,复用了Bootstrap的CSS样式,基于Bootstrap框架的可以考虑

https://github.com/nicolasbize/magicsuggest
社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. node.js使用unzip解压zip包指定文件,提取 word/excel (docx/pptx/xlsx) 文本内容
  2. 好与坏的程序员
  3. 2017 开发者报告:Java最流行的语言,JavaScript最常用的语言,Go最有前途的语言
  4. 正则中test、exec、match的简单区别,以及括号的用法
  5. 小程序排名高低,关键还是看这些因素!
  6. Bootstrap 4.0 Beta发布,不支持IE8/IE9,更新特性一览
  7. AirJD-简单好用的免费建站工具

 相关阅读 - 编程技巧
  1. 用纯CSS停止冒泡和阻止浏览器默认行为及事件响应,达到禁用(disable)的目的
  2. Node.js框架之express
  3. 纽约时报使用Html5 WebRTC记录访问者IP地址
  4. 在Debian/Ubuntu上面安装升级nginx到最新版
  5. 编写高性能HTML网页应用
  6. 在Debian(Respberry PI)上安装FTP服务器
  7. 使用Google Analytics跟踪捕获JavaScript,AngularJS,jQuery的在线错误和异常
  8. Node.JS开发者常犯的10个错误(一)
  9. CSS3实现的响应式字体:自适应视图窗口大小的新单位
  10. 更快地定位DOM(HTML)元素的方法(Rails)

 关键字 - Html5
  1. 用纯CSS实现的箭头
  2. 让Select选择框可编辑可输入可自动补全可下拉选择
  3. HTML5的TCP和UDP Web Socket API草案定稿
  4. 传统广告与H5广告的差别在哪里?
  5. WeMall微信商城源码插件代金券部分代码
  6. WeMall微信商城源码插件会员卡代码详情
  7. WeMall微信商城源码插件大转盘代码详情
  8. 你应该使用HTML5的header和footer标签吗?
  9. 5个实用Web界面设计工具 | 附开发案例
  10. 从PDF转换到HTML5的三种方法,你用过吗?

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号