如何使用ng-repeat从包含5行的表传递单个复选框值

How to pass single check box value from a table containing 5 rows using ng-repeat

本文关键字:单个 复选框 ng-repeat 何使用 包含 5行      更新时间:2023-09-26

我只想从包含5行的表中绑定一个复选框值。我使用ng-repeat from database

显示表
<table>
    <tr data-ng-repeat="serviceTable in dataTable ">  
        <td> {{ serviceTable.serviceId }} </td>
        <td> {{ serviceTable.serviceName }} </td>
        <td> {{ serviceTable. amount }} </td>
        <td><input type="checkbox" ng-model="service.serviceId"></td>
    </tr> 
</table>

选择复选框后,我想在ng-model中只传递一个整数值(服务Id如1,2,3),其值应传递给ng-model

假设您正在尝试从checkbox实现group radio button行为

在复选框中添加一个模型,该模型将存储特定的复选框状态和一个onchange侦听器。内部监听器使它们除电流外都不检查。

<input type="checkbox" ng-change="onChange($index)" ng-model="checkboxStatus[$index]">

In controller

$scope.checkboxStatus = {};
var previousCheckedIndex = null;
$scope.onChange = function (idx) {
    if (previousCheckedIndex > -1 && previousCheckedIndex !== idx)
        $scope.checkboxStatus[previousCheckedIndex] = false;
    previousCheckedIndex = idx;
};
使用循环:

$scope.checkboxStatus = {};
$scope.onChange = function (idx) {
    for (var key in $scope.checkboxStatus) {
        if(key != idx) $scope.checkboxStatus[key] = false;
    }
};