Skip to content

Commit 47895b1

Browse files
committed
Merge pull request select2#3565 from rockshandy/issue-3564
use merged data instead of existingData for ArrayAdapter
2 parents 81a670b + af212fa commit 47895b1

2 files changed

Lines changed: 46 additions & 1 deletion

File tree

src/js/select2/data/array.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ define([
5454
var existingData = this.item($existingOption);
5555
var newData = $.extend(true, {}, existingData, item);
5656

57-
var $newOption = this.option(existingData);
57+
var $newOption = this.option(newData);
5858

5959
$existingOption.replaceWith($newOption);
6060

tests/data/array-tests.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,21 @@ var arrayOptions = new Options({
2121
]
2222
});
2323

24+
var extraOptions = new Options ({
25+
data: [
26+
{
27+
id: 'default',
28+
text: 'Default',
29+
extra: true
30+
},
31+
{
32+
id: 'One',
33+
text: 'One',
34+
extra: true
35+
}
36+
]
37+
});
38+
2439
var nestedOptions = new Options({
2540
data: [
2641
{
@@ -206,6 +221,36 @@ test('option tags are automatically generated', function (assert) {
206221
);
207222
});
208223

224+
test('option tags can receive new data', function(assert) {
225+
var $select = $('#qunit-fixture .single');
226+
227+
var data = new ArrayData($select, extraOptions);
228+
229+
assert.equal(
230+
$select.find('option').length,
231+
2,
232+
'Only one more <option> element should be created'
233+
);
234+
235+
data.select({
236+
id: 'default'
237+
});
238+
239+
assert.ok(
240+
$select.find(':selected').data('data').extra,
241+
'<option> default should have new data'
242+
);
243+
244+
data.select({
245+
id: 'One'
246+
});
247+
248+
assert.ok(
249+
$select.find(':selected').data('data').extra,
250+
'<option> One should have new data'
251+
);
252+
});
253+
209254
test('optgroup tags can also be generated', function (assert) {
210255
var $select = $('#qunit-fixture .single-empty');
211256

0 commit comments

Comments
 (0)