Hướng dẫn bootstrap 5 multiselect dropdown with checkbox - bootstrap 5 thả xuống nhiều lựa chọn với hộp kiểm

Bootstrap Multiselect - Ví dụ miễn phí, Mẫu & Hướng dẫn

Ph đa phản ứng đáp ứng được xây dựng với bootstrap 5. Ví dụ về thả xuống đa chọn với hộp kiểm, hộp sách, tìm kiếm, nút, nhóm, biểu tượng, xác thực, bị vô hiệu hóa

Không giống như một lựa chọn tiêu chuẩn, MultiSelect cho phép người dùng chọn nhiều tùy chọn cùng một lúc.

Lưu ý: Để tìm hiểu thêm về chọn thành phần chọn và xem tất cả các tùy chọn, phương thức, sự kiện và cách sử dụng nâng cao có sẵn - đọc phần chọn tài liệu & API To learn more about Select component and see all available options, methods, events and advanced usage - read Select Docs & API section


Ví dụ cơ bản

Thêm thuộc tính





1 vào phần tử chọn để kích hoạt nhiều chế độ.

Lưu ý: Thành phần này yêu cầu gói MDBootStrap Pro. This component requires MDBootstrap Pro package.


Multisective với nhãn

Có thể thêm nhãn Chọn bằng cách tạo phần tử với các lớp ____ 12> và ____ 13>.


Multisective với trình giữ chỗ

Sử dụng tùy chọn





4 để đặt trình giữ chỗ cho đầu vào chọn. Người giữ chỗ sẽ được hiển thị khi đầu vào được tập trung và không có tùy chọn nào được chọn.


Multiselect bị vô hiệu hóa

Thêm thuộc tính





5 vào phần tử chọn để vô hiệu hóa đầu vào Chọn.


Tùy chọn vô hiệu hóa

Sử dụng thuộc tính





5 trên phần tử tùy chọn để vô hiệu hóa tùy chọn cụ thể.


Nút rõ ràng

Đặt tùy chọn





7 thành




8 để hiển thị nút cho phép xóa các lựa chọn hiện tại.


Nội dung tùy chỉnh

Một thùng chứa nội dung tùy chỉnh với lớp





9 sẽ được hiển thị ở cuối danh sách thả xuống. Trong ví dụ này, chúng tôi đã thêm một nút.


Các tùy chọn có thể nhìn thấy

Sử dụng tùy chọn


0 để thay đổi số lượng tùy chọn sẽ được hiển thị trong Downown Chọn mà không cần cuộn.


Văn bản thứ cấp

Thêm


1 Thuộc tính dữ liệu vào các tùy chọn cụ thể để hiển thị văn bản thứ cấp.


Tìm kiếm

Đặt tùy chọn


2 thành




8 để bật lọc tùy chọn.


Chọn với tìm kiếm bên trong một phương thức

Do bẫy lấy nét trong các phương thức, không thể tập trung các phần tử bên ngoài (như chọn thả xuống). Bạn có thể sử dụng tùy chọn Chọn


4 để giải quyết vấn đề này.


4 chấp nhận bộ chọn của phần tử bên trong thả xuống sẽ được hiển thị. Trong trường hợp này, bộ chọn phải trỏ đến thùng chứa phương thức (phần tử có lớp

6). Điều quan trọng là sử dụng một bộ chọn duy nhất để gán chọn cho một phương thức cụ thể.


Nhóm tùy chọn

Có thể nhóm các tùy chọn bằng cách sử dụng phần tử


7.


Multisective với các biểu tượng

Thêm thuộc tính dữ liệu


8 vào các tùy chọn cụ thể để hiển thị biểu tượng tùy chọn.


Thẩm định

Đặt tùy chọn


9 thành




8 để bật xác thực thành phần. Các tùy chọn
$(function(){

  $("select").bsMultiSelect();

});
1 và
$(function(){

  $("select").bsMultiSelect();

});
2 cho phép sửa đổi các thông báo xác thực.


Hướng dẫn bootstrap 5 multiselect dropdown with checkbox - bootstrap 5 thả xuống nhiều lựa chọn với hộp kiểm

Đã thêm phương thức "BuildConfiguration"

v0.4.0 (2019-10-25)

tạo ID cho đầu vào nhãn được thiết kế lại một lần nữa (bây giờ ID được sử dụng trước, nếu ID vắng mặt thì tên được sử dụng)

Thêm các tính năng:

  • Hỗ trợ RTL.
  • Cho phép thực hiện như một mô -đun ES (không yêu cầu jQuery).
  • Hình thức xác nhận.
  • Bộ lọc trực tiếp.
  • Được cấp phép theo Apache 2.

Làm thế nào để sử dụng nó:

1. Để sử dụng plugin, hãy đảm bảo cài đặt Framework thư viện jQuery và bootstrap 5 (hoặc bootstrap 4).






2. Tải tập lệnh plugin BSMultiselect của JQuery sau khi jQuery.





3. Chỉ cần gọi chức năng

$(function(){

  $("select").bsMultiSelect();

});
4 trên danh sách đa chọn và plugin sẽ thực hiện phần còn lại.


$(function(){

  $("select").bsMultiSelect();

});

4. Bạn cũng có thể xác định các tùy chọn trong JavaScript như sau.

...
$('.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. Tất cả các tùy chọn mặc định để tùy chỉnh plugin.

$("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. Ghi đè các lớp Phong cách & Bootstrap 4 mặc định để tùy chỉnh plugin.

$("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. Bạn có thể tạo kiểu cho plugin bằng CSS của riêng bạn mà không cần Bootstrap 4.

$("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. Thực hiện nó như một mô -đun 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. Cập nhật thay đổi trên thành phần với các phương thức API sau.





0

Changelog:

v2.0.0beta28 (2021-12-19)

  • Cập nhật

v2.0.0beta27 (2021-12-08)

  • Cập nhật

v2.0.0beta27 (2021-12-08)

  • v2.0.0beta26 (2021-12-05)

Cập nhật gói NPM.

  • v2.0.0beta26 (2021-12-05)
  • Cập nhật gói NPM.

v2.0.0beta25 (2021-12-01)

  • Phiên bản Bootstrap 4 được cập nhật

v1.1.18 (2021-09-06)

  • Phiên bản Bootstrap 4 được cập nhật

v1.1.18 (2021-09-06)

  • Vá lỗi

v1.1.17 (2021-09-02)

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.15 (2021-07-04)

tối ưu hóa

  • v1.1.14 (2021-07-04)

Scrollintoview được cải thiện

  • v1.1.14 (2021-07-04)

Scrollintoview được cải thiện

  • Bugfixes.

v1.1.13 (2021-06-29)

  • Bugfixes.

ScrollintOview cho lựa chọnDydyicStylingPlugin

  • v1.1.13 (2021-06-28)

v1.1.12 (2021-06-26)

  • v1.1.11 (2021-06-25)

v1.1.8 (2021-06-24)

  • Phiên bản Bootstrap 4 được cập nhật
  • v1.1.18 (2021-09-06)

Vá lỗi

  • v1.1.17 (2021-09-02)

v1.1.16 (2021-08-25)

  • Cập nhật CSS

v1.1.15 (2021-07-04)

  • tối ưu hóa

v1.1.14 (2021-07-04)

  • Scrollintoview được cải thiện

v1.1.13 (2021-06-29)

  • ScrollintOview cho lựa chọnDydyicStylingPlugin
  • v1.1.13 (2021-06-28)

v1.1.12 (2021-06-26)

  • v1.1.11 (2021-06-25)

v1.1.8 (2021-06-24)

  • Nổi bật

v1.1.7 (2021-06-20)

  • Lựa chọnDyNamicStylingPlugin

v1.1.6 (2021-06-17)

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.15 (2021-07-04)

tối ưu hóa

  • v1.1.14 (2021-07-04)

Scrollintoview được cải thiện

  • v1.1.14 (2021-07-04)

Scrollintoview được cải thiện

  • Optimization.

v1.1.13 (2021-06-29)

  • Optimization.

ScrollintOview cho lựa chọnDydyicStylingPlugin

  • Phiên bản Bootstrap 4 được cập nhật

v1.1.18 (2021-09-06)

  • Vá lỗi

v1.1.17 (2021-09-02)

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.15 (2021-07-04)

tối ưu hóa

  • v1.1.14 (2021-07-04)

Scrollintoview được cải thiện

  • Phiên bản Bootstrap 4 được cập nhật

v1.1.18 (2021-09-06)

  • Phiên bản Bootstrap 4 được cập nhật

v1.1.18 (2021-09-06)

  • Vá lỗi

v1.1.17 (2021-09-02)

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.15 (2021-07-04)

tối ưu hóa

  • Optimized.

v1.1.14 (2021-07-04)

  • Optimized.

Scrollintoview được cải thiện

  • v1.1.13 (2021-06-29)

ScrollintOview cho lựa chọnDydyicStylingPlugin

  • 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.16 (2021-08-25)

Cập nhật CSS

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.15 (2021-07-04)

tối ưu hóa

  • v1.1.14 (2021-07-04)

Scrollintoview được cải thiện

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.15 (2021-07-04)

tối ưu hóa

  • v1.1.15 (2021-07-04)

tối ưu hóa

  • v1.1.15 (2021-07-04)

tối ưu hóa

  • v1.1.14 (2021-07-04)

Scrollintoview được cải thiện

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.15 (2021-07-04)

tối ưu hóa

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.15 (2021-07-04)

tối ưu hóa

  • v1.1.14 (2021-07-04)

Scrollintoview được cải thiện

  • v1.1.13 (2021-06-29)

ScrollintOview cho lựa chọnDydyicStylingPlugin

  • Phiên bản Bootstrap 4 được cập nhật

v1.1.18 (2021-09-06)

  • Vá lỗi

v1.1.17 (2021-09-02)

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.15 (2021-07-04)

tối ưu hóa

  • v1.1.14 (2021-07-04)

Scrollintoview được cải thiện

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.15 (2021-07-04)
  • v1.1.14 (2021-07-04)

Scrollintoview được cải thiện

  • Optimization.

v1.1.13 (2021-06-29)

  • ScrollintOview cho lựa chọnDydyicStylingPlugin

v1.1.13 (2021-06-28)

  • v1.1.15 (2021-07-04)

tối ưu hóa

  • v1.1.14 (2021-07-04)

Scrollintoview được cải thiện

  • v1.1.13 (2021-06-29)

ScrollintOview cho lựa chọnDydyicStylingPlugin

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.15 (2021-07-04)
  • tối ưu hóa

v1.1.14 (2021-07-04)

  • v1.1.14 (2021-07-04)

Scrollintoview được cải thiện

  • v1.1.13 (2021-06-29)

ScrollintOview cho lựa chọnDydyicStylingPlugin

  • v1.1.13 (2021-06-28)

v1.1.12 (2021-06-26)

  • v1.1.11 (2021-06-25)

v1.1.8 (2021-06-24)

  • Nổi bật

v1.1.7 (2021-06-20)

  • v1.1.16 (2021-08-25)

Cập nhật CSS

  • v1.1.16 (2021-08-25)

V0.5.24 (2020-02-29)

  • Đã thêm API cập nhật

V0.5.23 (2020-02-28)

  • Cấu hình được tối ưu hóa

V0.5.22 (2020-02-27)

  • tối ưu hóa

V0.5.21 (2020-02-26)

  • Cập nhật kiểu dáng

V0.5.20 (2020-02-25)

  • Vá lỗi

V0.5.19 (2020-02-24)

  • tối ưu hóa

V0.5.18 (2020-02-24)

  • API được cập nhật

V0.5.16 (2020-02-22)

  • Tối ưu hóa

V0.5.15 (2020-02-21)

  • setSelected sẽ không xóa thuộc tính đã chọn

V0.5.14 (2020-02-20)

  • Phương pháp mới UpdateAppearance

V0.5.13 (2020-02-19)

  • BSMultiselect JQuery Prototype có thể tạo phiên bản (chỉ trả lại)

V0.5.12 (2020-02-18)

  • Vá lỗi

V0.5.19 (2020-02-24)

  • tối ưu hóa

V0.5.18 (2020-02-24)

  • API được cập nhật

V0.5.16 (2020-02-22)

  • tối ưu hóa

V0.5.21 (2020-02-26)

  • tối ưu hóa

V0.5.21 (2020-02-26)

  • tối ưu hóa

V0.5.21 (2020-02-26)

  • Cập nhật kiểu dáng

V0.5.20 (2020-02-25)

  • Vá lỗi

V0.5.19 (2020-02-24)

  • tối ưu hóa

V0.5.18 (2020-02-24)

  • API được cập nhật

V0.5.16 (2020-02-22)

  • Tối ưu hóa

V0.5.15 (2020-02-21)

  • setSelected sẽ không xóa thuộc tính đã chọn
  • V0.5.14 (2020-02-20)
  • Phương pháp mới UpdateAppearance

V0.5.13 (2020-02-19)

  • BSMultiselect JQuery Prototype có thể tạo phiên bản (chỉ trả lại)

V0.5.12 (2020-02-18)

  • V0.5.11 (2020-02-17)

Đã thêm phương thức GetChoices () trả về menu 'Dropdown'

  • V0.5.10 (2020-02-12)

Mô -đun ES6

  • V0.5.9 (2020-02-12)

V0.5.8 (2020-02-10)

  • V0.5.6/7 (2020-02-09)
  • V0.5.5 (2020-02-08)

Đã sửa lỗi kiểu thả xuống

  • V0.5.4 (2020-02-06)

Định cấu hình CSS/CSSPatch, giả sử giá trị NULL/không xác định cho Kiểu thuộc tính - Thuộc tính sẽ bị xóa khỏi Từ điển kiểu mặc định

  • V0.5.3 (2020-02-06)

Biện minh trong menu thả xuống cho biểu mẫu nội tuyến được giải quyết

  • V0.5.2 (2020-02-05)

Lỗi cố định

  • v0.5.0 (2020-02-04)

cập nhật

  • v0.4.34beta (2020-01-24)

Tùy chọn chuẩn hóa

  • Supports fieldset

Mem rò rỉ đã giải quyết

  • hỗ trợ RTL
  • v0.4.33 (2019-12-21)
  • tốt hơn suport của đầu vào nhóm
  • v0.4.32 (2019-12-20)

getsize, getDisables, getisValid, getisInvalid (thực tế cho JS-Enject được bắt đầu) có sẵn để thiết lập từ cấu hình

  • v0.4.31 (2019-12-20)
  • Đệm tốt hơn cho kích thước SM LG

v0.4.30 (2019-12-19)

  • Cấu hình.setselected As Hook cho các sự kiện lựa chọn trước và sau

v0.4.29 (2019-12-17)

  • Vá lỗi

V0.5.19 (2020-02-24)

  • tối ưu hóa

V0.5.18 (2020-02-24)

  • API được cập nhật

V0.5.16 (2020-02-22)

  • Tối ưu hóa

V0.5.15 (2020-02-21)

  • setSelected sẽ không xóa thuộc tính đã chọn

V0.5.14 (2020-02-20)

  • Phương pháp mới UpdateAppearance

V0.5.13 (2020-02-19)

  • Phương pháp mới UpdateAppearance
  • V0.5.13 (2020-02-19)
  • BSMultiselect JQuery Prototype có thể tạo phiên bản (chỉ trả lại)

V0.5.12 (2020-02-18)

  • V0.5.11 (2020-02-17)
  • Đã thêm phương thức GetChoices () trả về menu 'Dropdown'

V0.5.10 (2020-02-12)

  • Mô -đun ES6

V0.5.9 (2020-02-12)

  • V0.5.8 (2020-02-10)

V0.5.6/7 (2020-02-09)

  • V0.5.5 (2020-02-08)

2018-10-11

  • Đã sửa lỗi kiểu thả xuống

2018-07-25

  • V0.5.4 (2020-02-06)

2018-06-25

  • Định cấu hình CSS/CSSPatch, giả sử giá trị NULL/không xác định cho Kiểu thuộc tính - Thuộc tính sẽ bị xóa khỏi Từ điển kiểu mặc định

2018-06-23

  • V0.5.3 (2020-02-06)

2018-06-22

  • v0.2.7

2018-06-20

  • Vá lỗi

2018-06-13

  • Biện minh trong menu thả xuống cho biểu mẫu nội tuyến được giải quyết

2018-06-11

  • V0.5.2 (2020-02-05)

2018-06-06

  • Lỗi cố định
  • v0.5.0 (2020-02-04)

2018-06-05

  • cập nhật

2018-06-02

  • v0.4.34beta (2020-01-24)

2018-05-31

  • Tùy chọn chuẩn hóa

2018-05-24

  • Tùy chọn chuẩn hóa

2018-05-23

  • Mem rò rỉ đã giải quyết

2018-05-21

  • v0.1.0

hỗ trợ RTL

  • Trước: Các phần mẫu nhân bản hoặc các thành phần phụ với jQuery-Clone-form-td.js
  • Tiếp theo: BootStrap 4 Form Trình xác thực thuận tiện - Trình xác thực jQuery.js