aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Otto <[email protected]>2016-10-24 20:50:04 -0700
committerGitHub <[email protected]>2016-10-24 20:50:04 -0700
commit60e51bc918e98ba66b786a4dcf7c46d87b2a1bbb (patch)
tree2faa19967171239f3770519aee261c8dca84df86
parentb0d61474e83213379e1ea1e6696b679dcb33b8af (diff)
parent9bc7de93950444eee1e4cae8b5a029bcb4907640 (diff)
downloadbootstrap-60e51bc918e98ba66b786a4dcf7c46d87b2a1bbb.tar.xz
bootstrap-60e51bc918e98ba66b786a4dcf7c46d87b2a1bbb.zip
Merge pull request #18847 from Johann-S/fix18824
Fix bug multiple accordions collapse
-rw-r--r--js/src/collapse.js2
-rw-r--r--js/tests/unit/collapse.js23
2 files changed, 24 insertions, 1 deletions
diff --git a/js/src/collapse.js b/js/src/collapse.js
index 1e2d4a63e..782d82a2f 100644
--- a/js/src/collapse.js
+++ b/js/src/collapse.js
@@ -121,7 +121,7 @@ const Collapse = (($) => {
let activesData
if (this._parent) {
- actives = $.makeArray($(Selector.ACTIVES))
+ actives = $.makeArray($(this._parent).find(Selector.ACTIVES))
if (!actives.length) {
actives = null
}
diff --git a/js/tests/unit/collapse.js b/js/tests/unit/collapse.js
index 892da52ed..dba15e865 100644
--- a/js/tests/unit/collapse.js
+++ b/js/tests/unit/collapse.js
@@ -52,6 +52,29 @@ $(function () {
assert.ok(!/height/i.test($el.attr('style')), 'has height reset')
})
+ QUnit.test('should collapse only the first collapse', function (assert) {
+ assert.expect(2)
+ var html = [
+ '<div class="panel-group" id="accordion1">',
+ '<div class="panel">',
+ '<div id="collapse1" class="collapse"/>',
+ '</div>',
+ '</div>',
+ '<div class="panel-group" id="accordion2">',
+ '<div class="panel">',
+ '<div id="collapse2" class="collapse in"/>',
+ '</div>',
+ '</div>'
+ ].join('')
+ $(html).appendTo('#qunit-fixture')
+ var $el1 = $('#collapse1')
+ var $el2 = $('#collapse2')
+ $el1.bootstrapCollapse('show')
+
+ assert.ok($el1.hasClass('in'))
+ assert.ok($el2.hasClass('in'))
+ })
+
QUnit.test('should hide a collapsed element', function (assert) {
assert.expect(1)
var $el = $('<div class="collapse"/>').bootstrapCollapse('hide')