基于jQuery实现select下拉选择可输入附源码下载


Posted in Javascript onFebruary 03, 2016

我们知道,一般select下拉框是只能选择的,不能用来输入内容的。而有时我们会遇到下拉框中没有要选择的信息项或者下拉选项特别多时,我们可以让select变成text,允许用户输入想要的内容,同时还可以在输入的时候将包含关键字的项也列出来,供快速选择。

基于jQuery实现select下拉选择可输入附源码下载

查看演示效果            源码下载

本文将用实例和大家分享一款基于jQuery的下拉框插件,它允许用户输入内容,同时下拉选项中会及时匹配相关选项,支持键盘操作,还支持html选项内容,当然还能让下拉的过程带有动画效果。我们来看下如何使用。

HTML结构

下面是一个基本的select下拉框。

<select id="editable-select"> 
<option>Alfa Romeo</option> 
<option>Audi</option> 
<option>中国人民银行</option> 
<option>中国人民</option> 
<option>中国</option> 
<option>BMW</option> 
</select>

此外还需要加载jQuery库和jquery.editable-select.js文件,在源码下载包里已经有了。

jQuery

只需要以下代码就能实现传统的下拉框变成有输入功能的下拉框了。

$('#editable-select').editableSelect({ 
effects: 'slide' 
});

其实我们细看插件代码就会发现,作者是将原有的select处理了下,变成了一个输入表单text和一个列表ul。这样text可以输入,下拉选项则用ul面板,这样一来ul里的选项就可以添加任意html代码了,demo中有示例。然后通过使用CSS以及js技术可以实现下拉弹出、输入查找匹配功能。

选项设置

filter:过滤,即当输入内容时下拉选项会匹配输入的字符,支持中文,true/false,默认true。
effects:动画效果,当触发弹出下拉选择框时的下拉框展示过渡效果,有default,slide,fade三个值,默认是default。
duration:下拉选项框展示的过渡动画速度,有fast,slow,以及数字(毫秒),默认是fast。

事件

onCreate:当输入时触发。
onShow:当下拉时触发。
onHide:当下拉框隐藏时触发。
onSelect:当下拉框中的选项被选中时触发。

事件调用方法:

$('#editable-select').editableSelect({ 
onSelect: function (element) { 
alert("Selected!"); 
} 
});

以上内容给大家分享了核心代码,需要源码的朋友可以直接下载哦。

Javascript 相关文章推荐
javascript中检测变量的类型的代码
Dec 28 Javascript
一个获取第n个元素节点的js函数
Sep 02 Javascript
JQuery选择器绑定事件及修改内容的方法
Jan 23 Javascript
使用JavaScript刷新网页的方法
Jun 04 Javascript
vue模板语法-插值详解
Mar 06 Javascript
xmlplus组件设计系列之列表(4)
Apr 26 Javascript
使用JS获取SessionStorage的值
Jan 12 Javascript
node实现的爬虫功能示例
May 04 Javascript
JS中数组与对象的遍历方法实例小结
Aug 14 Javascript
js贪心算法 钱币找零问题代码实例
Sep 11 Javascript
vue中uni-app 实现小程序登录注册功能
Oct 12 Javascript
如何在JS文件中获取Vue组件
Sep 16 Javascript
javascript点击按钮实现隐藏显示切换效果
Feb 03 #Javascript
JavaScript检查子字符串是否在字符串中的方法
Feb 03 #Javascript
js点击文本框弹出可选择的checkbox复选框
Feb 03 #Javascript
AngularJS实现Model缓存的方式
Feb 03 #Javascript
JS实现CheckBox复选框全选、不选或全不选功能
Jul 28 #Javascript
javascript实现在网页中运行本地程序的方法
Feb 03 #Javascript
简单实现js选项卡切换效果
Feb 03 #Javascript
You might like
PHP实现删除字符串中任何字符的函数
2015/08/11 PHP
PHP内存使用情况如何获取
2015/10/10 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
jquery 查找iframe父级页面元素的实现代码
2011/08/28 Javascript
JS读取cookies信息(记录用户名)
2012/01/10 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
初识Node.js
2015/03/20 Javascript
在Ubuntu系统上安装Node.JS的教程
2015/10/15 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
Nodejs+express+ejs简单使用实例代码
2017/09/18 NodeJs
Vue DevTools调试工具的使用
2017/12/05 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
解决vue项目 build之后资源文件找不到的问题
2020/09/12 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
JavaScript 实现继承的几种方式
2021/02/19 Javascript
Python检测一个对象是否为字符串类的方法
2015/05/21 Python
python技能之数据导出excel的实例代码
2017/08/11 Python
解决Pycharm中import时无法识别自己写的程序方法
2018/05/18 Python
python实现淘宝秒杀脚本
2020/06/23 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
Pytorch中.new()的作用详解
2020/02/18 Python
如何让python的运行速度得到提升
2020/07/08 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
荷兰电脑专场:Paradigit
2018/05/05 全球购物
总经理工作职责范文
2014/03/14 职场文书
环境整治工作方案
2014/05/18 职场文书
亲子运动会的活动方案
2014/08/17 职场文书
技术员岗位职责
2015/02/04 职场文书
中学生勤俭节约倡议书
2015/04/29 职场文书
SQLServer之常用函数总结详解
2021/08/30 SQL Server
Spring Data JPA框架Repository自定义实现
2022/04/28 Java/Android
使用pd.merge表连接出现多余行的问题解决
2022/06/16 Python