浏览代码

Correct reference for this in AJAX callbacks

Previously `this` would point to the AjaxAdapter that was being used to
process the AJAX, or sometimes the JS object holding the AJAX options,
instead of the jQuery element that Select2 was attached to. This fixes
the issue so `this` will consistently point to the jQuery element, just
like in past versions of Select2.

This closes https://github.com/select2/select2/issues/3361
This closes https://github.com/select2/select2/pull/3410
SilverFire - Dima Naumenko 9 年之前
父节点
当前提交
3037b933e2
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      src/js/select2/data/ajax.js

+ 2 - 2
src/js/select2/data/ajax.js

@@ -57,11 +57,11 @@ define([
     }, this.ajaxOptions);
 
     if (typeof options.url === 'function') {
-      options.url = options.url(params);
+      options.url = options.url.call(this.$element, params);
     }
 
     if (typeof options.data === 'function') {
-      options.data = options.data(params);
+      options.data = options.data.call(this.$element, params);
     }
 
     function request () {