У меня есть серия флажков (на основе выбора пользователя), я использую bootstrap CSS и хочу изменить класс parent (label). Следующий тип кода работает, он меняет класс, но он должен вернуться к оригиналу, если он не установлен.JQuery: изменить класс метки на основе check/uncheck of checkbox
HTML код:
<div class="btn-group" data-toggle="buttons">
<label for="status" class="btn btn-default">
<input type="checkbox" name="status[]" id="status" value="1">
<span class="glyphicon glyphicon-ok"></span>
</label>
</div>
Jquery:
$('input:checkbox').change(function() {
if ($(this).prop('checked', true)) {
$(this).parent().addClass('btn btn-primary');
} else {
($(this).prop('checked', false));
$(this).parent().addClass('btn btn-default');
}
});
Я пытался несколько заместителей, toggleClass и т.д., но это не совсем верно. Я надеюсь, что когда пользователь отключит его, он вернется к исходному классу - btn-default.
Вот код на jsfiddle: http://jsfiddle.net/#&togetherjs=T34b6tblRc
Помощь будет весьма признателен, спасибо!
Когда вы даете два аргумента '.prop()', вы устанавливаете свойство, а не читаете его. – Barmar