diff --git a/etemplate/js/et2_widget_taglist.js b/etemplate/js/et2_widget_taglist.js index a5804fd69e..d18a216aea 100644 --- a/etemplate/js/et2_widget_taglist.js +++ b/etemplate/js/et2_widget_taglist.js @@ -701,11 +701,7 @@ var et2_taglist = (function(){ "use strict"; return et2_selectbox.extend([et2_IR // Check options (result = $j.grep(this.options.select_options, function(e) { return e.id == v; - })) || - // Check current selection to avoid going back to server - (result = $j.grep(this.taglist.getSelection(), function(e) { - return e.id == v; - })) + })) && result.length ) { // Options should have been provided, but they weren't @@ -719,6 +715,17 @@ var et2_taglist = (function(){ "use strict"; return et2_selectbox.extend([et2_IR label: v }; } + else if ( + // Check current selection to avoid going back to server + (result = $j.grep(this.taglist.getSelection(), function(e) { + return e.id == v; + })) && result.length) + { + values[i] = result[0] ? result[0] : { + id: v, + label: v + }; + } else { if (typeof values[i].id == 'undefined')