У меня есть флажок, и я хочу проверить и снять отметку на основе переменной. Bellow - это код для флажка. Я использую флажок Bootstrap
.Как изменить имя класса с помощью jquery
<div class="row">
<div class="col-sm-2">
<label class="control-label" for="pwd">My Check-Box:</label>
</div>
<div class="col-sm-1">
<span class="button-checkbox">
<input type="checkbox" class="hidden" id="myCheckBox"/>
<button id="myCheckBoxButton" type="button" class="btn-chk" data-color="success" ></button>
</span>
</div>
</div>
Когда флажок установлен и снят, он выглядит как ниже
Я попробовал несколько способов проверить и снять флажок. это то, что я пытался
$('#myCheckBox').prop('checked',true);
$('#myCheckBox').attr("disabled", false);
$('#myCheckBox').attr("disabled", "true");
$('#myCheckBoxButton').prop('checked',true);
$('#myCheckBoxButton').attr("disabled", false);
$('#myCheckBoxButton').attr("disabled", "true");
Ничто работает для меня. Он работает, если я использую нормальный флажок.
После этого я отлаживаю код с помощью firebug. Здесь я вижу код Когда checkBox установлен.
<input id="myCheckBox" class="hidden" type="checkbox" checked="checked">
<button id="myCheckBoxButton" class="btn-chk btn-success active" data-color="success" type="button">
<i class="state-icon glyphicon glyphicon-check"></i>
</button>
Теперь я попытался это. потому что check-box - это кнопка, поэтому я подумал, что позволяет изменить класс.
Предположим, что флаг - это переменная, в которой установлен флажок check and uncheck.
if (flag == '0') {
$('#myCheckBox').attr('checked', false);
$("#myCheckBoxButton").addClass("btn-chk btn-default-chk");
} else {
$("#myCheckBoxButton").removeClass("btn-chk btn-default-chk");
$("#myCheckBoxButton").removeClass("state-icon glyphicon glyphicon-unchecked");
$("#myCheckBoxButton").addClass(" glyphicon glyphicon-check");
$("#myCheckBoxButton").addClass("btn-chk btn-success active");
}
Теперь я могу проверить, но это выглядит странно.
Когда я отлаживаю использование пожарной ошибки, я видел, что это изменение в коде.
<input id="myCheckBox" class="hidden" type="checkbox">
<button id="myCheckBoxButton" class="glyphicon glyphicon-check btn-chk btn-success active" data-color="success" type="button">
<i class="state-icon glyphicon glyphicon-unchecked"></i>
</button>
я могу ясно видеть, есть дополнительный класс добавлен в кнопку
<button id="myCheckBoxButton" class="glyphicon glyphicon-check btn-chk btn-success active" data-color="success" type="button">
Как исправить это может один помочь с этим.