mirror of
https://github.com/twbs/bootstrap.git
synced 2022-11-09 12:25:43 -05:00
Change button checkbox/radios to ignore hidden input fields (#27802)
This commit is contained in:
parent
385ce1c961
commit
fc15c4c4ce
2 changed files with 24 additions and 1 deletions
|
@ -29,7 +29,7 @@ const ClassName = {
|
||||||
const Selector = {
|
const Selector = {
|
||||||
DATA_TOGGLE_CARROT : '[data-toggle^="button"]',
|
DATA_TOGGLE_CARROT : '[data-toggle^="button"]',
|
||||||
DATA_TOGGLE : '[data-toggle="buttons"]',
|
DATA_TOGGLE : '[data-toggle="buttons"]',
|
||||||
INPUT : 'input',
|
INPUT : 'input:not([type="hidden"])',
|
||||||
ACTIVE : '.active',
|
ACTIVE : '.active',
|
||||||
BUTTON : '.btn'
|
BUTTON : '.btn'
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,6 +139,29 @@ $(function () {
|
||||||
assert.ok($btn2.find('input').prop('checked'), 'btn2 is checked')
|
assert.ok($btn2.find('input').prop('checked'), 'btn2 is checked')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
QUnit.test('should only toggle selectable inputs', function (assert) {
|
||||||
|
assert.expect(6)
|
||||||
|
var groupHTML = '<div class="btn-group" data-toggle="buttons">' +
|
||||||
|
'<label class="btn btn-primary active">' +
|
||||||
|
'<input type="hidden" name="option1" id="option1-default" value="false">' +
|
||||||
|
'<input type="checkbox" name="option1" id="option1" checked="true"> Option 1' +
|
||||||
|
'</label>' +
|
||||||
|
'</div>'
|
||||||
|
var $group = $(groupHTML).appendTo('#qunit-fixture')
|
||||||
|
|
||||||
|
var $btn = $group.children().eq(0)
|
||||||
|
var $hidden = $btn.find('input#option1-default')
|
||||||
|
var $cb = $btn.find('input#option1')
|
||||||
|
|
||||||
|
assert.ok($btn.hasClass('active'), 'btn has active class')
|
||||||
|
assert.ok($cb.prop('checked'), 'btn is checked')
|
||||||
|
assert.ok(!$hidden.prop('checked'), 'hidden is not checked')
|
||||||
|
$btn.trigger('click')
|
||||||
|
assert.ok(!$btn.hasClass('active'), 'btn does not have active class')
|
||||||
|
assert.ok(!$cb.prop('checked'), 'btn is not checked')
|
||||||
|
assert.ok(!$hidden.prop('checked'), 'hidden is not checked') // should not be changed
|
||||||
|
})
|
||||||
|
|
||||||
QUnit.test('should not add aria-pressed on labels for radio/checkbox inputs in a data-toggle="buttons" group', function (assert) {
|
QUnit.test('should not add aria-pressed on labels for radio/checkbox inputs in a data-toggle="buttons" group', function (assert) {
|
||||||
assert.expect(2)
|
assert.expect(2)
|
||||||
var groupHTML = '<div class="btn-group" data-toggle="buttons">' +
|
var groupHTML = '<div class="btn-group" data-toggle="buttons">' +
|
||||||
|
|
Loading…
Add table
Reference in a new issue