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
Alabama Alaska Arizona Arkansas California ...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
Alabama Alaska Arizona Arkansas California ...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
Alabama Alaska Arizona Arkansas California ...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
Alabama Alaska Arizona Arkansas California ...4 để giải quyết vấn đề này.
Alabama Alaska Arizona Arkansas California ...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
Alabama Alaska Arizona Arkansas California ...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ử
Alabama Alaska Arizona Arkansas California ...7.
Multisective với các biểu tượng
Thêm thuộc tính dữ liệu
Alabama Alaska Arizona Arkansas California ...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
Alabama Alaska Arizona Arkansas California ...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.
Đã 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.
Alabama Alaska Arizona Arkansas California ...
$[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 "//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