DropdownDropdown是面向PC端的基于jQuery开发的轻量级下拉框插件,支持key/value搜索,有token和select两种模式。 Version1.1.1
SupportInternet Explorer 8+ Chrome for PC Safari for PC Firefox for PC
BasedjQuery 1.4+ Log a) 多选 select模式下增加一个 全部删除 按钮 b) 新增 changeStatus 方法,提供readonly,disabled功能 c) 新增 destroy,bindEvent,unbindEvent 方法 FeaturePrinciple程序设计原理如下图所示:
在一些前端渲染的场景,JSON数据是通过AJAX请求的,如果再拼成<option value="yyy">xxx</option> 就有点多余了。 在这种情况下,建议直接将JSON数据转为以下这种格式:
- [
- {
- "id": 1, // value值
- "disabled": false, // 是否禁选
- "groupName": "分组名",
- "groupId": 3,//分组ID
- "selected": false, // 是否选中
- "name": "Betty Deborah Jackson" // 名称
- },
- {
- "id": 2,
- "disabled": false,
- "groupName": "分组名",
- "groupId": 2,
- "selected": false,
- "name": "Jason Barbara Clark"
- }
- // more ...
- ]
复制代码 Dropdown 会根据这个JSON来渲染 select > option
Options 名称 | 描述 | 类型 | 默认 | readOnly | 是否只读 | Boolean | false | limitCount | 选择上限 | Number | Infinity | input | 搜索框模板 | HTML | <input type="text" maxLength="20" placeholder="搜索关键词或ID"> | data | 数据源 | Array | [] | searchable | 是否可开启搜索 | Boolean | true | searchNoData | 无数据模板 | HTML | <li style="color:#ddd">查无数据,换个词儿试试 /(ㄒoㄒ)/~~</li> | choice | 选择后回调函数 | Function | function(){} |
MethodschangeStatus(status)
参数 | 类型 | 描述 | status | String | 支持readonly或disabled,不传则取消readonly/disabled | return | undefined | |
- var dropdown = $('selector').dropdown(options).data('dropdown');
- dropdown.changeStatus('readonly') // readonly
- dropdown.changeStatus('disabled') // disabled
- dropdown.changeStatus() // cancel
复制代码
destroy()
参数 | 类型 | 描述 | status | String | 支持readonly或disabled,不传则取消readonly/disabled | return | undefined | |
- var dropdown = $('selector').dropdown(options).data('dropdown');
- dropdown.destroy();
复制代码
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);
- }
- });
复制代码
|