diff --git a/src/js/select2/options.js b/src/js/select2/options.js
index 078f1b40..4c3110ea 100644
--- a/src/js/select2/options.js
+++ b/src/js/select2/options.js
@@ -78,7 +78,8 @@ define([
}
$e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl'));
- Utils.StoreData($e[0], 'ajax--url', Utils.GetData($e[0], 'ajaxUrl'));
+ Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl'));
+
}
var dataset = {};
diff --git a/src/js/select2/utils.js b/src/js/select2/utils.js
index fba50c65..ca42a8da 100644
--- a/src/js/select2/utils.js
+++ b/src/js/select2/utils.js
@@ -303,11 +303,13 @@ define([
var id = Utils.GetUniqueElementId(element);
if (name) {
if (Utils.__cache[id]) {
- return Utils.__cache[id][name];
+ return Utils.__cache[id][name] != null ?
+ Utils.__cache[id][name]:
+ $(element).data(name); // Fallback to HTML5 data attribs.
}
- return null;
+ return $(element).data(name); // Fallback to HTML5 data attribs.
} else {
- return Utils.__cache[id];
+ return Utils.__cache[id];
}
};
diff --git a/tests/data/array-tests.js b/tests/data/array-tests.js
index 65a6e32c..1288fefa 100644
--- a/tests/data/array-tests.js
+++ b/tests/data/array-tests.js
@@ -3,6 +3,7 @@ module('Data adapters - Array');
var ArrayData = require('select2/data/array');
var $ = require('jquery');
var Options = require('select2/options');
+var Utils = require('select2/utils');
var arrayOptions = new Options({
data: [
@@ -237,7 +238,7 @@ test('option tags can receive new data', function(assert) {
});
assert.ok(
- $select.find(':selected').data('data').extra,
+ Utils.GetData($select.find(':selected')[0], 'data').extra,
'