表单/表格

jQuery多选下拉框插件

也想出现在这里?联系我们
面包多

jQuery多选下拉框插件-创客云
jquery.multi-select.js 是一款 jQuery 多选下拉框插件。该插件可以将 select 元素转换为带 checkbox 的多选下拉框,非常实用。

使用方法

在页面中引入下面的文件。

也想出现在这里?联系我们
创客主机
  1. <link rel="stylesheet" type="text/css" href="./src/example-styles.css">
  2. <script src="js/jquery.min.js" type="text/javascript"></script>
  3. <script type="text/javascript" src="./src/jquery.multi-select.js"></script>

HTML 结构

  1. <select id="languages" name="languages" multiple>
  2. <option value="JavaScript">JavaScript</option>
  3. <option value="C++">C++</option>
  4. <option value="Python">Python</option>
  5. <option value="Ruby">Ruby</option>
  6. <option value="PHP">PHP</option>
  7. <option value="Pascal">Pascall</option>
  8. </select>

初始化插件

  1. $('#languages').multiSelect();

CSS 样式

  1. .multi-select-container {
  2.   display: inline-block;
  3.   position: relative;
  4. }
  5.  
  6. .multi-select-menu {
  7.   position: absolute;
  8.   left: 0;
  9.   top: 0.8em;
  10.   float: left;
  11.   min-width: 100%;
  12.   background: #fff;
  13.   margin: 1em 0;
  14.   padding: 0.4em 0;
  15.   border: 1px solid #aaa;
  16.   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  17.   display: none;
  18. }
  19.  
  20. .multi-select-menu input {
  21.   margin-right: 0.3em;
  22.   vertical-align: 0.1em;
  23. }
  24.  
  25. .multi-select-button {
  26.   display: inline-block;
  27.   font-size: 0.875em;
  28.   padding: 0.2em 0.6em;
  29.   max-width: 20em;
  30.   white-space: nowrap;
  31.   overflow: hidden;
  32.   text-overflow: ellipsis;
  33.   vertical-align: -0.5em;
  34.   background-color: #fff;
  35.   border: 1px solid #aaa;
  36.   border-radius: 4px;
  37.   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
  38.   cursor: default;
  39. }
  40.  
  41. .multi-select-button:after {
  42.   content: "";
  43.   display: inline-block;
  44.   width: 0;
  45.   height: 0;
  46.   border-style: solid;
  47.   border-width: 0.4em 0.4em 0 0.4em;
  48.   border-color: #999 transparent transparent transparent;
  49.   margin-left: 0.4em;
  50.   vertical-align: 0.1em;
  51. }
  52.  
  53. .multi-select-container--open .multi-select-menu { display: block; }
  54.  
  55. .multi-select-container--open .multi-select-button:after {
  56.   border-width: 0 0.4em 0.4em 0.4em;
  57.   border-color: transparent transparent #999 transparent;
  58. }

配置参数

  1. $('#languages').multiSelect({
  2.  
  3.   // 自定义HTML模板
  4.   'containerHTML': 'lt;div class="multi-select-container"gt;',
  5.   'menuHTML': 'lt;div class="multi-select-menu"gt;',
  6.   'buttonHTML': 'lt;span class="multi-select-button"gt;',
  7.   'menuItemsHTML': 'lt;div class="multi-select-menuitems"gt;',
  8.   'menuItemHTML': 'lt;label class="multi-select-menuitem"gt;',
  9.   'presetsHTML': 'lt;div class="multi-select-presets"gt;',
  10.  
  11.   // sets some HTML (eg: lt;div class="multi-select-modal"gt;) to enable the modal overlay.
  12.   'modalHTML': undefined,
  13.  
  14.   // Active CSS class
  15.   'activeClass': 'multi-select-container--open',
  16.  
  17.   // Text to show when no option is selected
  18.   'noneText': '-- Select --',
  19.  
  20.   // Text to show when all options are selected
  21.   'allText': undefined,
  22.  
  23.   // an array of preset option groups
  24.   'presets': undefined,
  25.  
  26.   // CSS class added to the container, when the menu is about to extend beyond the right edge of the position Menu Within element
  27.   'positionedMenuClass': 'multi-select-container--positioned',
  28.  
  29.   // If you provide a jQuery object here, the plugin will add a class (see positionedMenuClass option) to the container when the right edge of the dropdown menu is about to extend outside the specified element, giving you the opportunity to use CSS to prevent the menu extending, for example, by allowing the option labels to wrap onto multiple lines.
  30.   'positionMenuWithin': undefined,
  31.  
  32.   // The plugin will attempt to keep this distance, in pixels, clear between the bottom of the menu and the bottom of the viewport, by setting a fixed height style if the menu would otherwise approach this distance from the bottom edge of the viewport.
  33.   'viewportBottomGutter': 20,
  34.  
  35.   // minimal height
  36.   'menuMinHeight': 200
  37.  
  38. });

Github 网址:https://github.com/mysociety/jquery-multi-select

服务范围 1、专业提供WordPress主题、插件汉化、优化、PHP环境配置等服务请详询在线客服
2、本站承接 WordPress、DedeCMS、ThinkPHP 等系统建站、仿站、开发、定制等服务
3、英文模板(主题)安装费用为120元/次,汉化主题首次免费安装(二次安装30元/次)
售后时间 周一至周五(法定节假日除外) 10:00-22:00
免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 2107117185@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!
免费下载
(1)

本文由 创客云 作者:PetitQ 发表,转载请注明来源!

也想出现在这里?联系我们
创客主机

热评文章

发表评论

精彩推荐

Supro - 极简电商网站模板WordPress汉化主题

Envato Affiliates

本站承接 WordPress / DedeCMS / ThinkPHP 等
系统建站、仿站、开发、定制等业务!

Hi, 如果您有主题插件代购(30-600元)汉化等建站相关业务,可以 跟我联系 哦!
欢迎投稿
嘿,欢迎咨询!