select2.js插件支持拼音搜索(最新版-4.0.6)
通过两天的研究,学会使用select2.js,并且修改了select2.js的源代码,实现拼音搜索的功能(pinyin.js链接,将中文转换成拼音),下面主要讲解如何实现拼音搜索功能:
1.从Getting Started | Select2 - The jQuery replacement for select boxes官网上下载最新的select2.js,学习新版本插件的用法(PS:学习一个新的事物,最好通过官方文档进行了解,这样获得的知识是最准确,少走弯路)
2.把select2.js、select2.css拷入自己项目的相应位置
问题一:从github下载的文件怎么阅读,那个文件夹下存放的select2.js和select2.css文件
github目录结构说明:
dist 是指编译后的文件,可以理解为压缩发布版(select2.js和select2.css在那个文件下)
src 源码文件,适合动手能力强的童鞋
docs 文档
examples 示例文件
test 测试脚本
.gitignore 告诉git哪些文件不要上传到 GitHub,比如数据库配置文件等
LICENSE.txt 授权协议
README.md 自述文件,整个项目的简介、使用方法等
bower.json Bower 包管理器配置文件
package.json npm 包管理器配置文件
3.在select2.js源代码中进行修改,支持拼音搜索:
拼音搜索的原理:
将下拉框选项中的中文转换成汉语拼音,然后与输入的字母进行比较,如果包含则被检索出来。
修改代码:
在select2.js中找到matcher 方法,对此方法进行修改。
function matcher (params, data) {// Always return the object if there is nothing to compareif ($.trim(params.term) === '') {return data;}// Do a recursive check for options with childrenif (data.children && data.children.length > 0) {// Clone the data object if there are children// This is required as we modify the object to remove any non-matchesvar match = $.extend(true, {}, data);// Check each child of the optionfor (var c = data.children.length - 1; c >= 0; c--) {var child = data.children[c];var matches = matcher(params, child);// If there wasn't a match, remove the object in the arrayif (matches == null) {match.children.splice(c, 1);}}// If any children matched, return the new objectif (match.children.length > 0) {return match;}// If there were no matching children, check just the plain objectreturn matcher(params, match);}//支持中文拼音搜索 2018-09-30var original = '';//搜索输入的字母 var term = stripDiacritics(params.term).toUpperCase();if (stripDiacritics(data.text).toPinYin != undefined){ original = stripDiacritics(data.text).toPinYin().toString().indexOf(term); if(original==-1){//此处是在中文没有匹配时,匹配对应的拼音 original = stripDiacritics(data.text).toUpperCase().indexOf(term); }}// 修改if (original> -1) {return data;}// If it doesn't contain the term, don't return anythingreturn null;}
4.实现的Demo(Demo下载链接):
select2.js插件支持拼音搜索(最新版-4.0.6)相关推荐
- 自制Unity文件查找器,支持拼音搜索
前言 一个大型项目,配置表上千个是很正常的,这个时候想要搜索某个配置表,是有点蛋疼的事情. 自己写个配置查找器吧,效果如下: 优点: 搜索速度快: 支持拼音搜索: 支持快速打开: 缺点: 拼音只能挨个 ...
- select2.js插件新增支持拼音搜索
话不多说直奔主题 1.拼音搜索的原理: 将下拉框选项中的中文转换成汉语拼音,然后与输入的字母进行比较,如果包含则被检索出来. 2.效果: 3.在select2.js中找到matcher 方法,对此方法 ...
- Elasticsearch如何修改拼音分词插件支持音调搜索
背景 es默认加载的拼音分词插件是不支持音调搜索的,如何修改插件使得它支持音调搜索?又或者多音字你想要默认的读音是另外一个,例如曾默认读音是ceng,我想修改其默认读音为zeng. 下载拼音分词插件代 ...
- java ajax多文件上传插件_ajaxFileUpload.js插件支持多文件上传的方法
前提条件: ajaxFileUpload.js插件多文件上传 步骤: 1.修改源码,(源码只支持单个文件的上传): //修改前代码------- //var oldElement = jQuery(' ...
- ajaxFileUpload.js插件支持多文件上传的方法
前提条件: ajaxFileUpload.js插件多文件上传 步骤: 1.修改源码,(源码只支持单个文件的上传): 复制代码 代码如下: //修改前代码------- //var oldElement ...
- Elasticsearch之拼音搜索(十五)
拼音搜索在中文搜索环境中是经常使用的一种功能,用户只需要输入关键词的拼音全拼或者拼音首字母,搜索引擎就可以搜索出相关结果.在国内,中文输入法基本上都是基于汉语拼音的,这种在符合用户输入习惯的条件下缩短 ...
- html播放mov格式视频,jQuery及video标签视频播放弹窗插件支持mp4,mov等格式详解(图文)...
在做html5做播放视频时,如果是mp4,ogg,webm等视频格式,用h5自带的video标签就可以实现,但苹果的mov格式视频video标签是不支持的. h5实现mp4视频播放:video标签仅支 ...
- select2.js实现拼音搜索支持
拼音搜索的原理: 将下拉框选项中的中文转换成汉语拼音(或拼音首字母),然后与输入的字母进行比较,如果包含则被检索出来. 引用插件: 1. pinyin.js文件用于将汉字转化为拼音的JavaScrip ...
- signature=daa3bbe3ad9a7c162ba9d98f8d9e7530,解决select2插件下拉搜索框,输入拼音能够匹配中文汉字的问题...
首先肯定需要引用select2.js:点击打开链接,点击链接,自己新建一个select2.js把链接中的源码复制进去: 然后这里面需要修改的是这个方法: function matcher (param ...
- Simple: 一个支持中文和拼音搜索的 sqlite fts5插件
之前的工作关系,需要在手机上支持中文和拼音搜索.由于手机上存储数据一般都是用 sqlite,所以是基于 sqlite3 fts5 来实现.这段时间再次入门 c++,所以想用 c++ 实现一下,一来用于 ...
最新文章
- com/opensymphony/xwork2/spring/SpringObjectFactory.java:220:-1问题出现的原因及解决办法
- RIP基于跳数的负载均衡
- 第十篇 Form表单
- 微信公众号支付开发全过程(java版)
- PHP的面向对象 — 封装、继承、多态
- Matlab画图技巧之消除空白(二)
- 5 大场景深度探讨何为 Serverless 架构模式?
- 当子查询内存在ORDER BY 字句时查询会报错
- 实习踩坑之路:ElasticSearch双写数据不同步?不实时?怎么优化?
- include指令的局限性
- C# --- WinForm基本知识与绘图(上)
- OneNote插件Notehighlight个性化设置
- 第二章 JavaWeb HTML与CSS网页设计 建立第一个网页
- Android 使用Gallery仿3D画廊效果实现
- 分布式系统故障容灾治理总结
- NFT周刊|Jay-Z拍卖“Reasonable Doubt”NFT;漫威推出NFT藏品
- php怎么控制段落排版,使用p上下分段落的排版,上下段落间距如何设置
- Java读取word文档,转换为网页
- 揭秘618流量营销模式,天猫一小时打造阵仗浩大的立体全包围
- 麻省理工学院公开课:单变量微积分习题课
热门文章
- 3dmax室内模型导入Unity3d 快速烘焙光照【2020】
- 利用 MATLAB 绘制正态分布曲线
- 如何将Vue中表格数据,以Excel格式导出?报saveAs错误如何解决?
- 电力系统中的Kron简化,含MATLAB代码(全网唯一)
- 数据可视化平台Superset 简介
- Excel 无法打开文件“新建 Microsoft Excel 工作表.xlsx”,因为文件格式或文件扩展名无效
- 远程桌面连接:远程桌面由于以下原因之一无法连接到远程计算机
- python运动目标检测_运动目标检测(3)—光流法
- 微信小程序跳一跳的游戏辅助实现
- 【Matlab绘图要点汇总】Matlab图中添加图例+添加轴标签+添加文本+添加注释