Hallo Eduard,
wir verwenden im Frontend zur Anzeige der Listboxen mit 'Durchsuchbar' die Bibliothek 'Select2'.
Select2 unterstützt die Reihenfolge der ausgewählten Optionen nach der Reihenfolge der Auswahl leider nicht.
Es geht bei der Integration einer Bibliothek nicht nur um eine einfache Anzeige, sondern vor allem
- um die Anzeige mit gänzlich unterschiedlichen UI-Frameworks und
- das Funktionieren mit weiteren Visforms-Optionen, etwa die 'Bedingte Anzeige' oder den 'Reload'.
Chosen und Choices werden wir auch in Zukunft nicht in Visforms integrieren.
Choices hat sich übrigens bei einem Kundenprojekt als äußerst unhandlich (Funktion und Darstellung) und im Detail als eher schlecht bis gar nicht mehr Dokumentiert herausgestellt.
Es gibt aber einen Workaround für dich für beide Fragen.
Der Workaround hat bei mir mit 'Ui Framework' = 'Bootstrap 5' und 'Sublayout' = 'Horizontal' im Test sehr gut funktioniert.
Das Formular mit den beiden Feldern 'sql-6' (Listbox Sql) und 'select-1' (Listbox):
vi-solutions.de/forum-uploads/searchable...elect-order_form.png
Mehrfachselektion in Auswahlreihenfolge, Feld 'select-1' (Listbox):
Der folgende JavaScript Code-Schnipsel erhält die Reihenfolge der Auswahl wie von dir gewünscht.
Der Code ändert gleichzeitig auch die aktuelle Reihenfolge der Optionen in der Optionsliste.
Damit bleibt die Reihenfolge der Auswahl bis hinein in die Datenbank und bei der Anzeige der gespeicherten Optionen erhalten (Backend/Frontend).
Code:
jQuery(document).ready(function() {
jQuery("select").on("select2:select", function (evt) {
let element = evt.params.data.element;
let jQueryElement = jQuery(element);
let remember = this;
window.setTimeout(function () {
if (jQuery(remember).find(":selected").length > 1) {
let jQuerySecond = jQuery(remember).find(":selected").eq(-1);
jQuerySecond.after(jQueryElement);
} else {
jQueryElement.detach();
jQuery(remember).prepend(jQueryElement);
}
}, 1);
});
});
Bei der nachträglichen Änderung der Daten (Backend/Frontend) allerdings funktioniert es nicht mehr.
Aber vielleicht ist das für dich nicht wichtig.
'Durchsuchbar' für SQL-Listboxen, Feld 'sql-6' (Listbox Sql):
Der folgende JavaScript Code-Schnipsel macht auch SQL-Listboxen nachträglich durchsuchbar.
Zusätzlich bleibt auch hier die Mehrfachselektion in der Auswahlreihenfolge.
Code:
jQuery(document).ready(function () {jQuery(".bind-select2").select2({width: "computedstyle"});});
Obiger Code bindet alle SQL-Listboxen, die in der Feldkonfiguration, Reiter 'Erweitert', Gruppe 'Layout' gesetzt haben 'CSS Klasse des Feldes' = 'bind-select2':
vi-solutions.de/forum-uploads/searchable...rm-configuration.png
Eigenen Custom-JavaScript in Joomla einfügen:
Ich gehe davon aus, dass du weißt, wie du Custom-JavaScript in deine Joomla-Instanz einfügen kannst.
Dafür gibt es zahlreiche Möglichkeiten, etwa im Rahmen von Joomla oder deines Templates.
Mit Visforms geht es mit der Erstellung eines Overrides, in das du dein JavaScript einfügst:
docs.joomla-4.visforms.vi-solutions.de/d...yout-with-overrides/
Gruß, Ingmar