diff --git a/modules/backend/formwidgets/recordfinder/assets/js/recordfinder.js b/modules/backend/formwidgets/recordfinder/assets/js/recordfinder.js index 5049cb65b..df6ff7efe 100644 --- a/modules/backend/formwidgets/recordfinder/assets/js/recordfinder.js +++ b/modules/backend/formwidgets/recordfinder/assets/js/recordfinder.js @@ -40,7 +40,7 @@ RecordFinder.prototype.dispose = function() { this.$el.off('dblclick', this.proxy(this.onDoubleClick)) this.$el.off('dispose-control', this.proxy(this.dispose)) - this.$el.removeData('oc.someDisposableControl') + this.$el.removeData('oc.recordfinder') this.$el = null @@ -62,15 +62,20 @@ RecordFinder.prototype.updateRecord = function(linkEl, recordId) { if (!this.options.dataLocker) return - var $locker = $(this.options.dataLocker) - $locker.val(recordId) + + // Selector name must be used because by the time success runs + // - this.options will be disposed + // - $locker element will be replaced + var locker = this.options.dataLocker + + $(locker).val(recordId) this.$el.loadIndicator({ opaque: true }) this.$el.request(this.options.refreshHandler, { success: function(data) { this.success(data) - $locker.trigger('change') + $(locker).trigger('change') } })