Javascript 选中ng时,ng模型未绑定
我有一个父复选框,单击子复选框时会选中它。我希望此父复选框依次与第三个复选框绑定。但是,当更改是由于检查了ng时,双向绑定不起作用。以下是模板:Javascript 选中ng时,ng模型未绑定,javascript,angularjs,checkbox,angularjs-scope,angular-directive,Javascript,Angularjs,Checkbox,Angularjs Scope,Angular Directive,我有一个父复选框,单击子复选框时会选中它。我希望此父复选框依次与第三个复选框绑定。但是,当更改是由于检查了ng时,双向绑定不起作用。以下是模板: <div><input type="checkbox" ng-checked="childCheckbox" ng-model="parentCheckbox" /> Parent Checkbox</div> <div><input type="checkbox" ng-model="childC
<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>
Parent复选框
子复选框
第三个复选框与父复选框绑定
以下是JSFIDLE中的工作示例:
换句话说,当通过单击选中父复选框时,ng模型与第三个复选框绑定。但是,如果由于选中了ng而选中了父复选框,则第三个复选框不会更新更改。如何在Angular中实现这一点?不,我认为没有额外的JS是不可能的 但是,它可以正常工作
<div><input type="checkbox" ng-click="clickOthers()" ng-model="childCheckbox" /> Child Checkbox</div>
ng checked只是一个条件属性,它永远不会修改附加的属性。有没有理由不让所有这些复选框使用与ng模型相同的值?这似乎就是为什么您不能将
ng checked=“childCheckbox”
添加到第三个复选框?@Artem Petrosian该示例是演示的简化版本。但在我的例子中,第三个复选框实际上放在另一个ng repeat中,我无法为该父项添加ng checked选项。这就是为什么我想把主父复选框放在外面,然后用第三个复选框绑定。谢谢你,泽克。JS方法看起来不错。我现在就试试看……)谢谢@ZekeSonxx,您的JS方法对于静态列表非常有效。但是,当使用动态ng模型使用ng repeat
创建复选框时,我仍然难以调整此代码。我已经接受了这个答案,因为你的答案回答了我的上述问题。对于我关于动态复选框的问题,我创建了一个更具体的问题。如果你想看一下,这里有一个链接:再次感谢你迄今为止的支持。非常感谢!:)
$scope.clickOthers = function () {
$scope.parentCheckbox = $scope.childCheckbox;
}