即使选中了一个复选框,也会检查所有复选框

时间:2016-11-05 20:15:53

标签: javascript angularjs checkbox

我正在angularjs制作一个基本的todo应用程序。 这是用于创建带有复选框

的新待办事项的代码
int /*hello*/ z;

问题是,即使只检查一个

,也会检查所有复选框

这是我的控制器模块

<div class="container" ng-controller = 'controller' >

    <h3>Enter Todo </h3> <input type="text" ng-model = 'new'>
    <button ng-click = 'add();' ng-disabled="status();">Add</button>

    <div ng-repeat = "i in todo" >
        <input type="checkbox" ng-model = "todo.done" /> <label>{{i.name}}</label>
     </div>

</div>

2 个答案:

答案 0 :(得分:0)

因为复选框的列表共享相同的模型。您可以创建自定义指令,也可以使用checklist-model指令。

演示网址: https://vitalets.github.io/checklist-model/

答案 1 :(得分:0)

ng-model = "i.done"

应该解决问题。在您的版本中ng-model = "todo.done" todo 是一个数组,而角度只是在第一次使用时动态创建属性。这样,您的所有复选框都会连接到此属性,这就是选中一个复选框会影响所有复选框的原因。