1

子チェックボックスがクリックされたときにチェックされる親チェックボックスがあります。この親チェックボックスを順番に 3 番目のチェックボックスにバインドします。ただし、変更が ng-checked によるものである場合、双方向バインディングは機能しません。テンプレートは次のとおりです。

<div><input type="checkbox" ng-checked="childCheckbox" ng-model="parentCheckbox" /> Parent Checkbox</div>
<div><input type="checkbox" ng-model="childCheckbox" /> Child Checkbox</div>
<div><input type="checkbox" ng-model="parentCheckbox" /> A third Checkbox binding with Parent Checkbox</div>

jsfiddle の作業サンプルは次のとおりです: http://jsfiddle.net/Alien_time/vy5UM/1/

つまり、親チェックボックスをクリックしてチェックすると、ng-model は 3 番目のチェックボックスにバインドします。ただし、ng-checked が原因で親チェックボックスがチェックされると、3 番目のチェックボックスは変更を更新しません。Angularでこれを達成するにはどうすればよいですか?

4

1 に答える 1

1

いいえ、追加の JS なしでは不可能だと思います。

ただし、JS を少し使用して正常に動作するバージョンを作成しました

<div><input type="checkbox" ng-click="clickOthers()" ng-model="childCheckbox" /> Child Checkbox</div>

(コントローラーに追加)

$scope.clickOthers = function () {
    $scope.parentCheckbox = $scope.childCheckbox;
}
于 2014-05-04T22:00:45.760 に答える