如何$ ng检查checbox是否在ng-repeat表中被选中或取消选中

时间:2016-07-12 07:17:46

标签: javascript angularjs

我当前有一个手表功能但它只在我点击全选复选框时才会看。当我单击复选框时,在任何单独的行上,监视功能都不会激活。

脚本边码:

$scope.$watch("checkboxes.checked", function(bool) {
}

HTML code:

<table ng-table="testTable">
    <tbody>
        <tr ng-repeat="data in $data">
            <td data-title="Selection">
            <input type="checkbox" ng-model="checkboxes.items[data.id]"/>
        </td>
            <td data-title="data"> 
                {{data.name}} 
            < /td>
        </tr>
    </tbody>
</table>

如何查看每个行的复选框? 感谢。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用ngchange,因为观看整个数据集可能会非常繁重。

<table ng-table="testTable">
    <tbody>
        <tr ng-repeat="data in $data">
            <td data-title="Selection">
            <input type="checkbox" ng-model="checkboxes.items[data.id]" ng-change="doSomething(data.id)"/>
        </td>
            <td data-title="data"> 
                {{data.name}} 
            < /td>
        </tr>
    </tbody>
</table>

在你的控制器中,

$scope.doSomething = function(dataId) {
    console.log('checkbox' + data.id + ' status');
    console.log(checkboxes.items[data.id]);
}

你可以从那里即兴发挥。