diff --git a/src/main/java/org/olat/core/gui/components/textboxlist/_static/js/multiselect.js b/src/main/java/org/olat/core/gui/components/textboxlist/_static/js/multiselect.js index a78b0a863035d1fd4d27d03eb9821fc15dfb7646..2518ab0ec41243516596a2d9970a6bf56de14f77 100644 --- a/src/main/java/org/olat/core/gui/components/textboxlist/_static/js/multiselect.js +++ b/src/main/java/org/olat/core/gui/components/textboxlist/_static/js/multiselect.js @@ -793,6 +793,20 @@ var ProtoMultiSelect = Class.create(TextboxList, { ); } + if(matches && !this.options.get('allowDuplicates')) { + var toDelete = new Array(); + var count = 0; + for(var i=0; i<matches.length; i++) { + var val = matches[i].evalJSON(true).value; + if(this.foundInSelectedValues(val)) { + toDelete[count++] = matches[i]; + } + } + for(var i=0;i<toDelete.length; i++) { + matches.remove(toDelete[i]); + } + } + if (this.options.get('sortResults')) { matches = matches.sortBy(function(el) { return el.evalJSON(true).caption }); }