У меня есть собственный флажок, который я ставил с использованием: раньше на ярлыке флажка. Теперь у меня есть условие, на основе которого я хочу изменить цвет рамки флажка как красный. Я не уверен, как я должен делать то же самое? Ниже вы найдете структуру класса и html:
<input id="tAndC" name="tAndC" type="checkbox" class="paddingLeft" ng-checked= "card.acceptTC" required ng-model="card.acceptTC" ng-change="revertFocusOutTC()" ng-blur="" >
<label for="tAndC" class="checkbox1 chkSmall chkTAndC marginLeft" ng-class="focusedOutTC?'checkboxErr':''">
CSS:
.checkbox1:before {
content: "";
display: inline-block;
width: 24px;
height: 24px;
vertical-align: middle;
background-color: transparent;
color: #818181;
text-align: center;
border-color: #818181;
border-radius: 2px;
border-width: 1px;
border-style: solid;
float: left;
}
Попробуйте этот угловой атрибут ng-class
следующим образом:
ng-class="{ checkboxErr: !!focusedOutTC }"
Объяснение: имя класса checkboxErr будет установлено, только если Boolean
представление focusedOutTC
будет равно true
.
поместите класс на вход вместо этого и расширьте свой CSS
<input ... class="{{ focusedOutTC ? 'checkboxErr':'' }}" ... />
.checkbox1:before {
...
&.checkboxErr {
border: 1px solid red !important;
}
}
альтернативно, если вы хотите использовать ng-класс, вы должны придерживаться синтаксиса ng-класса, например
ng-class="{ 'classname': condition }"
на ум приходят две вещи. Вы можете сделать:
.checkbox1:before {
content: "";
display: inline-block;
width: 24px;
height: 24px;
vertical-align: middle;
background-color: transparent;
color: #818181;
text-align: center;
border-radius: 2px;
border-width: 1px;
border-style: solid;
float: left;
}
.grayBorder{
border-color: #818181;
}
.redBorder{
border-color: red;
}
<label for="tAndC" class="checkbox1 chkSmall chkTAndC marginLeft" ng-class="focusedOutTC?'grayBorder ':'redBorder">
Или вы всегда можете сделать
<label id="label1" for="tAndC" class="checkbox1 chkSmall chkTAndC marginLeft" ng-class="focusedOutTC?'grayBorder ':'redBorder">
... в JS
angular.element("#label1").addClass("redBorder");
angular.element("#label1").removeClass("redBorder");
вы также можете сделать angular.element("# id"). css ("border-color: red");