这只是Bootstrap 5(和4)框架的另一个多选插件,它将多选列表转换为带有复选框的易于使用的下拉列表。
用户可以通过单击复选框从下拉列表中选择一个或多个选项。
要清除选择,只需单击x
图标,就像输入的标签一样。
1.要使用该插件,请确保安装了jQuery库和Bootstrap 5(或Bootstrap 4)框架。
- <!-- Bootstrap Stylesheet -->
- <link rel="stylesheet" href="/path/to/cdn/bootstrap.min.css" />
- <!-- jQuery Is Optional -->
- <script src="/path/to/cdn/jquery.slim.min.js"></script>
- <!-- Bootstrap JavaScript -->
- <script src="/path/to/cdn/bootstrap.bundle.min.js"></script>
2.在jQuery之后加载jQuery BsMultiSelect插件的脚本。
- <!-- For Bootstrap 5 -->
- <script src="dist/js/BsMultiSelect.min.js"></script>
- <!-- For Bootstrap 4 -->
- <script src="dist/js/BsMultiSelect.bs4.min.js"></script>
3.åªéè°ç¨å½æ°仪表板代码BsMultiSelect
在多选列表中,插件将完成其余操作。
- <select name="states" id="example" class="form-control" multiple="multiple" style="display: none;">
- <option value="AL">Alabama</option>
- <option value="AK">Alaska</option>
- <option value="AZ">Arizona</option>
- <option value="AR">Arkansas</option>
- <option selected value="CA">California</option>
- ...
- </select>
- $(function(){
- $("select").bsMultiSelect();
- });
4.您也可以在JavaScript中定义如下选项。
- <div class="container">
- ...
- </div>
- $('.container').bsMultiSelect({
- options : [
- {text:"Asia", value:"C0",hidden:false,disabled:false,selected:true},
- {text:"Europe",value:"C1",hidden:false,disabled:false,selected:false},
- {text:"Australia",value:"C2",hidden:false,disabled:false,selected:false}
- ],
- getDisabled : () => {},
- getIsValid : () => {},
- getIsInvalid : () => {}
- });
5.èªå®ä¹æ件çææé»è®¤é项ã
- $("select").bsMultiSelect({
- useCssPatch: true,
- containerClass: "dashboardcode-bsmultiselect",
- css: css,
- cssPatch: cssPatch,
- placeholder: '',
- staticContentGenerator: null,
- getLabelElement: null,
- pickContentGenerator: null,
- choiceContentGenerator: null,
- buildConfiguration: null,
- isRtl: null,
- setSelected: null,
- required: null,
- optionsAdapter: null,
- options: null,
- getDisabled: null,
- getSize: null,
- getValidity: null,
- labelElement: null,
- valueMissingMessage: '',
- getIsValueMissing: null
- });
6.覆盖默认样式和Bootstrap 4类以自定义插件。
- $("select").bsMultiSelect({
- cssPatch: {
- choices: {
- listStyleType: 'none'
- },
- picks: {
- listStyleType: 'none',
- display: 'flex',
- flexWrap: 'wrap',
- height: 'auto',
- marginBottom: '0'
- },
- choice: 'px-md-2 px-1',
- choice_hover: 'text-primary bg-light',
- filterInput: {
- border: '0px',
- height: 'auto',
- boxShadow: 'none',
- padding: '0',
- margin: '0',
- outline: 'none',
- backgroundColor: 'transparent',
- backgroundImage: 'none' // otherwise BS .was-validated set its image
- },
- filterInput_empty: 'form-control',
- // need for placeholder, TODO test form-control-plaintext
- // used in staticContentGenerator
- picks_disabled: {
- backgroundColor: '#e9ecef'
- },
- picks_focus: {
- borderColor: '#80bdff',
- boxShadow: '0 0 0 0.2rem rgba(0, 123, 255, 0.25)'
- },
- picks_focus_valid: {
- borderColor: '',
- boxShadow: '0 0 0 0.2rem rgba(40, 167, 69, 0.25)'
- },
- picks_focus_invalid: {
- borderColor: '',
- boxShadow: '0 0 0 0.2rem rgba(220, 53, 69, 0.25)'
- },
- // used in BsAppearance
- picks_def: {
- minHeight: 'calc(2.25rem + 2px)'
- },
- picks_lg: {
- minHeight: 'calc(2.875rem + 2px)'
- },
- picks_sm: {
- minHeight: 'calc(1.8125rem + 2px)'
- },
- // used in pickContentGenerator
- pick: {
- paddingLeft: '0px',
- lineHeight: '1.5em'
- },
- pickButton: {
- fontSize: '1.5em',
- lineHeight: '.9em',
- float: "none"
- },
- pickContent_disabled: {
- opacity: '.65'
- },
- // used in choiceContentGenerator
- choiceContent: {
- justifyContent: 'initial'
- },
- // BS problem: without this on inline form menu items justified center
- choiceLabel: {
- color: 'inherit'
- },
- // otherwise BS .was-validated set its color
- choiceCheckBox: {
- color: 'inherit'
- },
- choiceLabel_disabled: {
- opacity: '.65'
- }
- }
- });
7.您可以在没有Bootstrap 4的情况下使用自己的CSS来设计插件的样式。
- $("select").bsMultiSelect({
- useCssPatch: false,
- css: {
- choices: 'dropdown-menu',
- // bs4, in bsmultiselect.scss as ul.dropdown-menu
- choice_hover: 'hover',
- // not bs4, in scss as 'ul.dropdown-menu li.hover'
- choice_selected: '',
- choice_disabled: '',
- picks: 'form-control',
- // bs4, in scss 'ul.form-control'
- picks_focus: 'focus',
- // not bs4, in scss 'ul.form-control.focus'
- picks_disabled: 'disabled',
- // not bs4, in scss 'ul.form-control.disabled'
- pick_disabled: '',
- pickFilter: '',
- filterInput: '',
- // used in BsPickContentStylingCorrector
- pick: 'badge',
- // bs4
- pickContent: '',
- pickContent_disabled: 'disabled',
- // not bs4, in scss 'ul.form-control li span.disabled'
- pickButton: 'close',
- // bs4
- // used in BsChoiceContentStylingCorrector
- // choice: 'dropdown-item', // it seems like hover should be managed manually since there should be keyboard support
- choiceCheckBox_disabled: 'disabled',
- // not bs4, in scss as 'ul.form-control li .custom-control-input.disabled ~ .custom-control-label'
- choiceContent: 'custom-control custom-checkbox d-flex',
- // bs4 d-flex required for rtl to align items
- choiceCheckBox: 'custom-control-input',
- // bs4
- choiceLabel: 'custom-control-label justify-content-start',
- choiceLabel_disabled: ''
- }
- });
8.将其作为ES模块来实现。
- import Popper from "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/esm/popper.js"
- import {BsMultiSelect} from "./dist/js/BsMultiSelect.esm.min.js"
- var mySelect = document.querySelector('#select-id');
- var environment = {window, Popper};
- bsMultiSelect = BsMultiSelect(mySelect, environment, {
- // settings here
- });
9.使用以下API方法更新组件上的更改。
- $('select').bsMultiSelect("UpdateIsValid");
- $('select').bsMultiSelect("UpdateDisabled");
- $('select').bsMultiSelect("UpdateSize");
- $('select').bsMultiSelect("UpdateWasValidated");
- $('select').bsMultiSelect("UpdateValidy");
- $('select').bsMultiSelect("UpdateOptionsSelected", index);
- $('select').bsMultiSelect("UpdateOptionDisabled", index);
- $('select').bsMultiSelect("UpdateOptionHidden", index);
- // or all-in-one
- $('select').bsMultiSelect("UpdateAppearance");
- $('select').bsMultiSelect("UpdateData");
2.0.0贝塔28(2021-12-19)
2.0.0贝塔27(2021-12-08)
2.0.0贝塔26(2021-12-05)
2.0.0贝塔25(2021-12-01)
v1.1.18 (2021-09-06)
v1.1.17 (2021-09-02)
v1.1.16 (2021-08-25)
v1.1.15 (2021-07-04)
v1.1.14 (2021-07-04)
v1.1.13 (2021-06-29)
v1.1.13 (2021-06-28)
v1.1.12 (2021-06-26)
v1.1.11 (2021-06-25)
v1.1.8 (2021-06-24)
v1.1.7 (2021-06-20)
v1.1.6 (2021-06-17)
v1.1.1 (2021-06-08)
1.1.0版(2021-06-08)
1.0.4版(2021-06-05)
1.0.3版(2021-06-04)
v1.0.1/2 (2021-06-03)
1.0.0版(2021-05-27)
版本0.6.27(2020-08-19)
版本0.6.27(2020-08-05)
版本0.6.25(2020-07-02)
版本0.6.23(2020-06-27)
版本0.6.22(2020-06-26)
版本0.6.21(2020-06-25)
版本0.6.20(2020-06-24)
版本0.6.19(2020-06-23)
版本0.6.18(2020-06-22)
版本0.6.15(2020-06-20)
版本0.6.14(2020-06-19)
版本0.6.13(2020-06-18)
版本0.6.12(2020-06-17)
版本0.6.11(2020-06-16)
版本0.6.10(2020-06-15)
v0.6.9 (2020-06-13)
版本0.6.8(2020-06-13)
版本0.6.7(2020-06-11)
v0.6.5 (2020-06-11)
版本0.6.4(2020-06-10)
v0.6.3 (2020-06-09)
版本0.6.2(2020-06-08)
版本0.6.0(2020-06-02)
版本0.5.68(2020-06-01)
版本0.5.67(2020-05-31)
版本0.5.66(2020-05-30)
版本0.5.65(2020-05-29)
版本0.5.64(2020-05-29)
版本0.5.63(2020-05-21)
版本0.5.62(2020-05-20)
版本0.5.61(2020-05-19)
版本0.5.60(2020-05-18)
版本0.5.59(2020-05-17)
版本0.5.58(2020-05-05)
版本0.5.57(2020-05-05)
版本0.5.56(2020-05-04)
版本0.5.55(2020-05-01)
版本0.5.53(2020-04-30)
版本0.5.52(2020-04-29)
版本0.5.51(2020-04-28)
版本0.5.50(2020-04-26)
版本0.5.49(2020-04-25)
版本0.5.48(2020-04-24)
版本0.5.47(2020-04-22)
版本0.5.46(2020-04-21)
版本0.5.45(2020-04-19)
版本0.5.44(2020-04-18)
版本0.5.43(2020-04-17)
版本0.5.42(2020-04-16)
版本0.5.41(2020-04-15)
版本0.5.40(2020-03-18)
版本0.5.39(2020-03-17)
版本0.5.38(2020-03-16)
版本0.5.37(2020-03-15)
版本0.5.36(2020-03-12)
版本0.5.35(2020-03-11)
版本0.5.34(2020-03-10)
版本0.5.33(2020-03-09)
版本0.5.32(2020-03-08)
版本0.5.31(2020-03-07)
版本0.5.30(2020-03-06)
版本0.5.29(2020-03-05)
版本0.5.28(2020-03-04)
版本0.5.27(2020-03-03)
版本0.5.26(2020-03-02)
版本0.5.25(2020-03-01)
版本0.5.24(2020-02-29)
版本0.5.23(2020-02-28)
版本0.5.22(2020-02-27)
版本0.5.21(2020-02-26)
版本0.5.20(2020-02-25)
版本0.5.19(2020-02-24)
版本0.5.18(2020-02-24)
版本0.5.16(2020-02-22)
版本0.5.15(2020-02-21)
版本0.5.14(2020-02-20)
版本0.5.13(2020-02-19)
版本0.5.12(2020-02-18)
版本0.5.11(2020-02-17)
版本0.5.10(2020-02-12)
版本0.5.9(2020-02-12)
版本0.5.8(2020-02-10)
版本0.5.6/7(2020-02-09)
v0.5.5 (2020-02-08)
版本0.5.4(2020-02-06)
版本0.5.3(2020-02-06)
版本0.5.2(2020-02-05)
版本0.5.0(2020-02-04)
0.4.34贝塔(2020-01-24)
版本0.4.33(2019-12-21)
版本0.4.32(2019-12-20)
版本0.4.31(2019-12-20)
版本0.4.30(2019-12-19)
版本0.4.29(2019-12-17)
版本0.4.27(2019-12-17)
版本0.4.26(2019-12-16)
版本0.4.20(2019-12-14)
版本0.4.19(2019-12-14)
版本0.4.18(2019-12-13)
版本0.4.17(2019-12-11)
版本0.4.10/11/12(2019-12-08)
版本0.4.10/11/12(2019-12-07)
版本0.4.9(2019-12-06)
版本0.4.6(2019-12-03)
版本0.4.5(2019-11-28)
版本0.4.4(2019-11-27)
版本0.4.3(2019-11-26)
版本0.4.2(2019-11-13)
版本0.4.1(2019-11-01)
版本0.4.0(2019-10-25)
版本0.3.0(2019-10-21)
版本0.2.24(2019-07-28)
版本0.2.23(2019-07-27)
版本0.2.22(2019-04-12)
2018-10-11
2018-07-25
2018-06-25
2018-06-23
2018-06-22
2018-06-20
2018-06-13
2018-06-11
2018-06-06
2018-06-05
2018-06-02
2018-05-31
2018-05-24
2018-05-23
2018-05-21