Hallo,
ich habe hier ein Plugin, das ich gerne etwas umschreiben möchte. Das Script schlägt Suchbegriffe vor, die bei Klick gesucht werden:

So sieht das Original aus:

PHP-Code:
...

_onSelectableClick: function onSelectableClick($e) {
                
this.trigger("selectableClicked", $($e.currentTarget));
            },

...


www.mixin(this);
            
this.eventBus o.eventBus;
            
this.minLength _.isNumber(o.minLength) ? o.minLength 1;
            
this.input o.input;
            
this.menu o.menu;
            
this.enabled true;
            
this.active false;
            
this.input.hasFocus() && this.activate();
            
this.dir this.input.getLangDir();
            
this._hacks();
            
this.menu.bind().onSync("selectableClicked"this._onSelectableClickedthis).onSync("asyncRequested"this._onAsyncRequestedthis).onSync("asyncCanceled"this._onAsyncCanceledthis).onSync("asyncReceived"this._onAsyncReceivedthis).onSync("datasetRendered"this._onDatasetRenderedthis).onSync("datasetCleared"this._onDatasetClearedthis);
            
onFocused c(this"activate""open""_onFocused");
            
onBlurred c(this"deactivate""_onBlurred");
            
onEnterKeyed c(this"isActive""isOpen""_onEnterKeyed");
            
onTabKeyed c(this"isActive""isOpen""_onTabKeyed");
            
onEscKeyed c(this"isActive""_onEscKeyed");
            
onUpKeyed c(this"isActive""open""_onUpKeyed");
            
onDownKeyed c(this"isActive""open""_onDownKeyed");
            
onLeftKeyed c(this"isActive""isOpen""_onLeftKeyed");
            
onRightKeyed c(this"isActive""isOpen""_onRightKeyed");
            
onQueryChanged c(this"_openIfActive""_onQueryChanged");
            
onWhitespaceChanged c(this"_openIfActive""_onWhitespaceChanged");
            
this.input.bind().onSync("focused"onFocusedthis).onSync("blurred"onBlurredthis).onSync("enterKeyed"onEnterKeyedthis).onSync("tabKeyed"onTabKeyedthis).onSync("escKeyed"onEscKeyedthis).onSync("upKeyed"onUpKeyedthis).onSync("downKeyed"onDownKeyedthis).onSync("leftKeyed"onLeftKeyedthis).onSync("rightKeyed"onRightKeyedthis).onSync("queryChanged"onQueryChangedthis).onSync("whitespaceChanged"onWhitespaceChangedthis).onSync("langDirChanged"this._onLangDirChangedthis);
        }

...

_onSelectableClicked: function onSelectableClicked(type$el) {
                
this.select($el);
            },
... 
So habe ich das irgendwie gelöst:

PHP-Code:
_onSelectableClick: function onSelectableClick($e) {
                
                var 
text = $($e.currentTarget).text();
            
                var 
new_text text.replace('passendes Zubehör: ''');
                 
                $(
'.tt-input').val(new_text); 
                
                $(
'.tt-hint').val(new_text);  
                         
                $(
'#tx_indexedsearch').submit();
                     
            }, 
Nun ist das nicht wirklich zufriedenstellend, da etwas unschön. Gibt es da eine elegantere Lösung, die das Script im Kern beibehält?