在复选框值上更改div的类更改

时间:2014-06-10 07:09:49

标签: html css angularjs

我正在尝试更改添加一个类" isChecked"检查复选框时,父div。为此,我试图使用ngClass指令。

HTML

   <div ng-class="{isChecked: (isChecked_1 == 'true')}">
     <input type="checkbox" id="check_1" ng-model="isChecked_1" />
     <label class="label_1" for="check_1">This is a label</label>
   </div>

CSS

.isChecked{
    background-color: #428bca;
    color: white;
}

但这不起作用。有人可以指出我的错误或建议一些更好的方法。

3 个答案:

答案 0 :(得分:1)

当用户选中复选框时,angularJS将模型设置为布尔值true。在您的代码中,您将其与结果为'true'的字符串false进行比较。因此,您必须将它与布尔值true进行比较。这与字符if评估为'true'的{​​{1}}语句不同。

此外,您根本不需要手动比较,因为它的唯一目的是产生一个布尔值。您可以将代码更改为:

true

答案 1 :(得分:0)

解决了它。

'true'更改为true只是有效。

所以新代码是:

   <div ng-class="{isChecked: (isChecked_1 == true)}">
     <input type="checkbox" id="check_1" ng-model="isChecked_1" />
     <label class="label_1" for="check_1">This is a label</label>
   </div>

任何人都知道我们variable == 'true'variable == true之间的区别是什么?

答案 2 :(得分:0)

你可以使用jquery。它有根据特定条件添加和删除css类的方法