Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Bootstrap Duallistbox

Bootstrap Duallistbox Laravel Package

istvan-ujjmeszaros/bootstrap-duallistbox

Bootstrap Dual Listbox is a responsive jQuery widget that turns two select boxes into a searchable dual-list transfer control for Bootstrap. It adds live filtering, move/remove-all buttons, keyboard support, and customizable styling for building accessible, mobile-friendly selection interfaces in we...

View on GitHub
Deep Wiki
Context7

Bootstrap Dual Listbox

Frequently asked questions about Bootstrap Duallistbox
Can I install bootstrap-duallistbox with Composer in a Laravel app?
No. bootstrap-duallistbox is a browser-side jQuery plugin, not a PHP package, so there is no composer.json, service provider, config file, or PHP API to install. You add it as a front-end asset, either by npm/yarn or by vendoring the minified JS and CSS into resources/ or public/vendor/. Composer is only relevant if another package happens to ship the asset, which is not the case here.
How do I add bootstrap-duallistbox to a Laravel app using Vite?
Install or vendor the dist JS and CSS, then import them from resources/js/app.js and resources/css/app.css so Vite bundles them. Because the plugin expects a global jQuery, make sure window.$ and window.jQuery are assigned before the plugin script executes. Initialize it in a DOMContentLoaded handler or a small Blade-friendly script that targets your select element. Never load a user-facing control from a third-party CDN; pin the exact file and record its source and checksum.
Does bootstrap-duallistbox work with Bootstrap 5?
Not as a drop-in. The bundled themes target Bootstrap 3 and 4 markup and utilities, and Bootstrap 5 dropped its jQuery dependency while changing many class conventions. The widget itself only needs jQuery, so it can run on a Bootstrap 5 page, but you should expect to rewrite the CSS theme rather than rely on the included styles. Test the visual result and focus states carefully before shipping.
What Laravel validation rules should I use for the dual listbox array?
Name the original select with square brackets, for example name="roles[]", and validate it as an array, such as 'roles' => ['array'] plus 'roles.*' => ['integer', 'exists:roles,id']. The plugin hides the original select and syncs values back into it, so server-side rules apply to the same field name you already use. Verify the submitted payload with a real request before committing, since value syncing behavior must be confirmed against your rules.
How do I refresh or destroy bootstrap-duallistbox when options change in Livewire?
The plugin mutates the DOM by hiding the original select and injecting its own markup, so it must be explicitly refreshed when options change and destroyed before Livewire, Turbo, or any morphing library replaces the node. Otherwise you end up with duplicated widgets or a stale option list. Wire destroy() into a component teardown or beforeDomUpdate hook and refresh() after the new markup lands. This lifecycle work, not installation, is the main integration cost.
Is bootstrap-duallistbox still maintained?
Effectively no. The last release was 2020-04-25, with no commits or changelog cadence since, so treat it as maintenance-mode or abandoned. There is no security response process, no tests, no CI, and a single-maintainer bus factor. It still works for legacy jQuery and Bootstrap 3/4 stacks, but adopting it means accepting an unmaintained front-end dependency.
What license does bootstrap-duallistbox use?
Tooling reports the license as NOASSERTION, which means the LICENSE file is non-standard or could not be parsed automatically. That is a legal-review gate rather than a footnote, especially if you redistribute the asset inside a bundled SPA or a commercial product. Read the actual license text in the repository and get sign-off before shipping.
Is bootstrap-duallistbox accessible and mobile friendly?
There is no evidence of ARIA conformance testing, and dual-list transfer widgets are notoriously difficult for screen readers and touch input in general. The plugin advertises keyboard support and responsive behavior, but you should verify focus order, announced labels, and tap targets yourself. Budget time for manual accessibility testing and possible patches before using it on a public-facing form.
What are good alternatives to bootstrap-duallistbox for Laravel?
Tom Select and Choices.js both provide searchable multi-select behavior without requiring jQuery, which matters if your stack is Vite, Livewire, Alpine, or Inertia. If a true dual-list transfer control is not a hard product requirement, a maintained multi-select with search is usually the better trade. Stay with bootstrap-duallistbox only when you are already on a legacy jQuery and Bootstrap 3/4 Blade-rendered app.
Is there an XSS risk when option labels come from user data?
Possibly. If you render option labels from user-controlled data, verify that the plugin escapes content on insert rather than assuming it does. The safest approach is to escape on the server with Blade's {{ }} when generating the select markup and to avoid injecting raw HTML labels. Test with payloads containing angle brackets and quotes before exposing the widget to untrusted input.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo