我正在尝试创建一个方法,当检查了一个复选框时,从表中接收Id,并且应该更新angular控制器中的$ scope.selected。 当取消选中该复选框时,它应该再次从$ scope.selected中删除它。
到目前为止看起来像这样:
$scope.updateselection = function(id) {
if ($scope.selected(sort_id) != id) { //what is the correct syntax here??
$scope.selected.push({ sort_id: id });
} else {
$scope.selected.remove({ sort_id: id });
}
};
答案 0 :(得分:1)
为了与Angular中的ckeckbox交互,我建议使用以下指令:http://vitalets.github.io/checklist-model/
如果您不想使用此指令,可以在复选框表上创建观察程序。
例如:
<强> HTML:强>
<table>
<tr>
<td ng-repeat="item in items">
<input type="checkbox" ng-model="item.value">
</td>
</tr>
<table>
<强> JS:强>
$scope.items = [
{
name: "name1",
value: true
},
{
name: "name2",
value: false
}
];
$scope.selectedItems = [];
$scope.$watch('items', function(newValues){
$scope.selectedItems.length = 0;
angular.forEach(newValues, function(item) {
if (item.value == true) {
$scope.selectedItems.push(item.name);
}
});
console.log($scope.selectedItems);
}, true);
这种方式可让您始终获得有关所选复选框的实际信息。
我已经为您创建了JSFiddle的工作示例。