如何检查加载ng-repeat上的复选框?

时间:2017-12-22 00:05:46

标签: javascript angularjs

我想检查加载页面上的输入复选框,如果选中,我们的值将从总值中减去。我怎么解决?

HTML

<p>{{vm.TOTAL VALUE}}</p>
<tr ng-repeat="item in items track by $index">
    <td><input type="checkbox" ng-model="item.selected" ng-change="vm.checkItems(item)" ng-checked="vm.itemArray.indexOf(item.id) > -1"/></td>
    <td>{{ item.SOMEVALUE}}</td>
</tr>

控制器

vm.itemArray = [4,9,45]
vm.TOTALVALUE = "345"

2 个答案:

答案 0 :(得分:0)

我还没有足够的评论来评论,但让我看看我是否理解你的问题。您是否只想在页面加载时自动选中该特定ID的框?

ng-checked="vm.itemArray.indexOf(item.id) > -1

如果您想在页面加载时自动检查所有框,您可以执行

ng-checked="true"

我希望我能正确理解你的问题。

祝你好运!

答案 1 :(得分:0)

尝试使用以下内容简化控制器,看看是否可以让它工作。

将以下内容放入您的控制器

$scope.items = [1, 2, 3, 4, 5, 6, 45];
$scope.itemArray = [4, 9, 45];

这在你的模板中

<table>
        <tr ng-repeat="item in items track by $index">
            <td><input type="checkbox" ng-model="selectedItem" ng-
checked="itemArray.indexOf(item) > -1" /></td>
            <td>{{ item}}</td>
        </tr>
    </table>

我拥有你拥有的东西,但我的复选框元素上没有ng-change指令。如果这样可行,请告诉我,我可以帮助调试不应发生的事情吗? 让我知道!

以下是我使用此代码enter image description here

获得的屏幕截图