У меня есть флажок типа поля ввода, и я хочу изменить цвет при проверке и снять ng-class= "unChecked =!checked"
, я попробовал ng-class= "unChecked =!checked"
как это, но не работал для меня.
Вот мой html-код:
<input type="checkbox" ng-class = "unChecked =!checked" class="checkbox" ng-model="inventory.productName" ng-checked='true' ng-true-value="true" ng-false-value="false" ng-click="inventory.addRemoveColumn(inventory.productName,'productInfo.productName', 'PRODUCT NAME')" />Product Name
<br/>
Скажите, пожалуйста, как я могу это сделать?
попробуй это. Значение по умолчанию для галочки для ng-value-true - "true", а ng-false-значение - "false".
ng-class = "{'checked': inventory.productName, 'unchecked' : !inventory.productName}"
var app = angular.module("testApp", []);
app.controller('testCtrl', function($scope){
$scope.inventory = {productName:false};
})
.checked{
background-color:red;
}
.unchecked{
background-color:green;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="testApp" ng-controller="testCtrl">
<div ng-class = "{'checked': inventory.productName, 'unchecked' : !inventory.productName}">
<input type="checkbox" class="checkbox" ng-model="inventory.productName" />Product Name
</div>
</div>
См. Демонстрацию.
Вы найдете следующий код:
HTML:
<div ng-app="app" ng-controller="test">
<label ng-class="{'red': inventory.productName == 'false', 'green': inventory.productName == 'true'}">
<input type="checkbox" class="checkbox" ng-model="inventory.productName" ng-checked='true' ng-true-value="true" ng-false-value="false" ng-click="inventory.addRemoveColumn(inventory.productName,'productInfo.productName', 'PRODUCT NAME')" ng-init="inventory.productName = 'true'"
/>Product Name
</label>
<br/>
</div>
JS:
var app = angular.module('app', []);
app.controller('test', function($scope) {
});
CSS:
.red {
color: red;
}
.green {
color: green;
}
color
в CSS на атрибут background-color
попробуй это. вы должны добавить условный класс. Вот рабочая скрипка
<input type="checkbox" ng-model="inventory.productName" ng-true-value="true" ng-false-value="false" /><span ng-class = "{'checked': inventory.productName=='true', 'unChecked' : inventory.productName=='false'}">Product Name</span>
<br/>
Используйте этот код
<input type="checkbox" ng-class = "{'class1':inventory.productName == 'PRODUCT NAME', 'class2':inventory.productName != 'PRODUCT NAME'}" class="checkbox" ng-model="inventory.productName" ng-checked='true' ng-true-value="true" ng-false-value="false" ng-click="inventory.addRemoveColumn(inventory.productName,'productInfo.productName', 'PRODUCT NAME')" />Product Name
измените ng-класс на ng-class="{'unChecked': !inventory.productName}"
.
Это, как говорится, вам действительно нужен угловой /javascript для этого? в css вы можете сделать это:
.checkbox{
/// Styles when unchecked
}
.checkbox:checked{
//// Styles when checked
}