Don't deselect radio buttons in data-toggle; fixes #9920

Merges #10787
This commit is contained in:
Brian Leonard 2013-09-01 22:23:31 -07:00 committed by Chris Rebert
parent 934d1bcae5
commit 5d6e9212a6

View File

@ -54,15 +54,21 @@
Button.prototype.toggle = function () {
var $parent = this.$element.closest('[data-toggle="buttons"]')
var changed = true
if ($parent.length) {
var $input = this.$element.find('input')
.prop('checked', !this.$element.hasClass('active'))
.trigger('change')
if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active')
if ($input.prop('type') === 'radio') {
// see if clicking on current one
if ($input.prop('checked') && this.$element.hasClass('active'))
changed = false
else
$parent.find('.active').removeClass('active')
}
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
}
this.$element.toggleClass('active')
if (changed) this.$element.toggleClass('active')
}