【问题标题】:Add class to element with ng-class when checkbox inside it is checked当检查中的复选框时,将类添加到元素中
【发布时间】:2014-02-28 22:12:53
【问题描述】:

我有一个选择的 div,每个都有一个复选框。当每个特定的复选框被选中时,我正在尝试向标签添加一个类。

我看到我可以为每个盒子创建一个特定的模型(ng-model:"isChecked-1" 然后 ng-class="'active' : isChecked-1")等等,但它没有看起来代码效率很高。

有什么想法吗?

这是我的代码:

<div class="col-md-4">
<label class="checkbox-inline btn col-md-12" ng-class="{'active' : isChecked}">
  <input type="checkbox" id="inlineCheckbox1" value="option1" ng-model="isChecked"> Clothes
</label>
</div>
<div class="col-md-4">
<label class="checkbox-inline btn col-md-12" ng-class="{'active' : isChecked}">
  <input type="checkbox" id="inlineCheckbox1" value="option2"> Cars
</label>
</div>
<div class="col-md-4">
<label class="checkbox-inline btn col-md-12" ng-class="{'active' : isChecked}">
  <input type="checkbox" id="inlineCheckbox1" value="option3"> Music
</label>
</div>

【问题讨论】:

    标签: angularjs ng-class angular-ngmodel


    【解决方案1】:

    听起来像是指令的工作:

    .directive('myCheckbox', function() {
    
        return{
            restrict: 'E',
            template: '<div class="col-md-4"> \
                          <label class="checkbox-inline btn col-md-12" ng-class="{active : isChecked}"> \
                             <input type="checkbox" id="inlineCheckbox1" value="option1" ng-model="isChecked" />{{text}} \
                          </label> \
                       </div>',
            replace: true,
            scope: {
                text: '@'
            }
        };
    })
    

    查看:

    <my-checkbox text='Clothes'></my-checkbox>
    <my-checkbox text='Cars'></my-checkbox>
    <my-checkbox text='Music'></my-checkbox>
    

    Fiddle

    【讨论】:

    • 谢谢!!如何添加新指令?之后我尝试复制和粘贴,并将 myCheckbox 更改为另一个名称,但它使我的代码崩溃...
    • 看一下显示如何定义指令的小提琴。
    • 我检查了它,从第 6 行复制到第 20 行并粘贴在它下面,并更改了指令名称。但是当我运行它时,它会使代码崩溃。我错过了什么?
    • 它只是不会在输出上呈现任何内容。这是jsfiddle。我不知道你做了什么,我想在更多的地方实现它......
    • 你有一个 ;在第一个指令之后。更新fiddle
    猜你喜欢
    • 1970-01-01
    • 2013-01-06
    • 1970-01-01
    • 2012-05-31
    • 2021-08-21
    • 2020-07-10
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    相关资源
    最近更新 更多