前言

在SPA(Single Page Application)盛行的时代,jQuery插件的轮子正在减少,由于我厂有需求而开发了这个插件。
如果觉得本文对您有帮助,请给个赞,以表对我的鼓励和支持。(๑•ᴗ•๑)
如果觉得有什么问题,可以到 Github 提Issue,欢迎大家提意见~

介绍

Dropdown是面向PC端的基于jQuery开发的轻量级下拉框插件,支持key/value搜索,有token和select两种模式。

版本

  • 1.0.0

支持

  • Internet Explorer 8+
  • Chrome for PC
  • Safari for PC
  • Firefox for PC

依赖于

  • jQuery 1.4+

特性

  1. 支持 select 和 token 两种模式
  2. 支持 optgroup 分组
  3. 保留原生 select 的键盘操作
  4. 数据源可以直接通过接口 data 注入,也可以直接渲染 select > option ,由插件自动转换。
  5. 插件同步 select 和 ul>li 标签,便于表单字段提交及前端校验,

原理

程序设计原理如下图所示:

 

Options

名称描述类型默认
readOnly是否只读Booleanfalse
limitCount选择上限NumberInfinity
input搜索框模板HTML<input type="text" maxLength="20" placeholder="搜索关键词或ID">
data数据源Array[]
searchable是否可开启搜索Booleantrue
searchNoData无数据模板HTML<li style="color:#ddd">查无数据,换个词儿试试 /(ㄒoㄒ)/~~</li>
choice选择后回调函数Functionfunction(){}

Usage

引入

<script src="http://cdn.bootcss.com/jquery/1.8.1/jquery.js"></script> <link rel="stylesheet" type="text/css" href="./jquery.dropdown.css"> <script src="./jquery.dropdown.js"></script>

HTML 部分

<div class="dropdown-mul-1">
   <!-- PS: select标签需手动设置隐藏 --> <select style="display:none" name="" id="" multiple placeholder="请选择"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> </div>

JavaScript 部分

$('.dropdown-mul-1').dropdown({
  limitCount: 40,
  multipleMode: 'label', choice: function () { console.log(arguments,this); } });

Example

https://janking.github.io/dropdown/